对于一个大约有13个项目的解决方案,我需要在一个地方定义变量,每个项目都具有来自相同位置的外部依赖项的不同组合。现在,将它们作为变量包含在PropertyGroup
中已经很容易了,但是,如果发生了某些变化(例如版本号),我们就不必使用该变化来更新每个项目文件。
我尝试创建一个目标文件,该文件具有在项目之间使用的变量,并将其包含在程序集引用之前的csproj文件中。这似乎在网站项目中表现出色,但在类库项目中却没有。找不到参考。
我应该如何以一种在项目类型之间安全且可用的方式来执行此操作? (不,在这种情况下,不能选择Nuget。)
“全球目标”文件示例:
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Product1Version>02.01.01</Product1Version>
<Product2Version>03.02.01</Product2Version>
<ReferencesPath>..\..\References</ReferencesPath>
<Product1ReferencePath>$(ReferencesPath)\Product1\$(Product1Version)</Product1ReferencePath>
<Product2ReferencePath>$(ReferencesPath)\Product2\$(Product2Version)</Product2ReferencePath>
</PropertyGroup>
</Project>
以下是我打算如何在csproj文件中使用此示例:
<Import Project="..\..\Build\SolutionReferences.targets" Condition="false" />
<ItemGroup>
<Reference Include="Product1">
<SpecificVersion>False</SpecificVersion>
<HintPath>$(Product1ReferencePath)\Product1.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Product2">
<SpecificVersion>False</SpecificVersion>
<HintPath>$(Product2ReferencePath)\Product2.dll</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup>
答案 0 :(得分:0)
呃...我要做的就是从Condition="false"
命令中删除Import
。 :(