-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDirectory.Build.props
More file actions
37 lines (33 loc) · 2.1 KB
/
Copy pathDirectory.Build.props
File metadata and controls
37 lines (33 loc) · 2.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<Project>
<!--
Degradamos a mensaje (no aviso) advertencias inherentes a la solución mixta
nativa/gestionada, que no representan un problema real:
MSB3270 Arquitectura MSIL (AnyCPU) de este proyecto gestionado frente a las
referencias nativas AMD64: es por diseño; el JIT adapta el ensamblado.
MSB3277 Ensamblados del framework .NET 8 (Microsoft.VisualBasic, mscorlib, System...)
que RAR encuentra por dos rutas de resolución con versión IDÉNTICA en las
soluciones mixtas C# + C++/CLI (/clr:netcore) y no puede declarar ganador.
No hay conflicto de versión real; es benigno.
-->
<PropertyGroup>
<MSBuildWarningsAsMessages>$(MSBuildWarningsAsMessages);MSB3270;MSB3277</MSBuildWarningsAsMessages>
</PropertyGroup>
<!--
obj\ POR CONFIGURACIÓN (evita el ping-pong del swap ProjectReference/PackageReference).
Este proyecto referencia el código fuente local (ProjectReference) en Debug y los
paquetes NuGet publicados (PackageReference) en Release, condicionado por $(Configuration).
Pero NuGet escribe UN solo project.assets.json en $(MSBuildProjectExtensionsPath) (obj\ por
defecto), sin distinguir configuración: al restaurar una config se machaca el grafo de la otra
(restaurar Debug mete las ProjectReference y el build Release no encuentra los paquetes; al
revés, el NuGet se cuela en Debug y da CS0121 «ambiguous» contra la DLL local).
Dándole a cada configuración su propio obj\<Config>\, restore y build de cada una usan su
assets.json independiente y las condiciones Debug/Release dejan de pisarse.
Se fija en Directory.Build.props (importado por Microsoft.Common.props ANTES del import de los
.g.props de NuGet) y se predefine Configuration para que la ruta sea válida aunque MSBuild/NuGet
se invoque sin /p:Configuration explícito.
-->
<PropertyGroup>
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
<MSBuildProjectExtensionsPath>$(MSBuildProjectDirectory)\obj\$(Configuration)\</MSBuildProjectExtensionsPath>
</PropertyGroup>
</Project>