![](/img/trans.png)
[英]Reference, Include, Library, Source paths based on active solution configuration
[英]Conditional Reference Paths Based on Solution
我有一套這樣組織的解決方案...
Master Solution
- Proj A
- Proj B
- Proj X
- Proj Y
SolutionAB
- Proj A
- Proj B
SolutionXY
- Proj X
- Proj Y
依賴
Proj A & B => Proj X & Y
我需要的是讓MasterSolution查看本地項目引用,並且SolutionAB查看同一dll的完全原始位置。 我可以對.proj
文件進行所需的任何更改,但是在移動項目時能力有限。 這些只是我必須處理的限制。
您可以對導入的屬性文件執行此操作。 由於引用位於項目文件中,因此您可以將它們或它們使用的屬性移動到單獨的.props文件中。
在單獨的.props文件中
<PropertyGroup>
<SomeAssemblyFolder
Condition="'$(SolutionName)' == 'Master'">PathTo/Master</SomeAssemblyFolder>
<SomeAssemblyFolder
Condition="'$(SolutionName)' == 'AB'">PathTo/AB</SomeAssemblyFolder>
</PropertyGroup>
在項目文件中
<Reference Include="SomeAssembly">
<HintPath>$(SomeAssemblyFolder)\SomeAssembly.dll</HintPath>
</Reference>
我想如果需要的話,您可以在每個項目文件中復制屬性定義,但是我將其移至導入。 如果需要從命令行或其他解決方案文件進行構建,請記住提供合理的默認值,或在命令行上提供區分屬性。
庫引用存儲在項目文件中。 由於項目是在解決方案之間共享的,所以我認為沒有簡單的方法可以做到這一點。
是什么原因導致項目無法始終在文件的任意位置查找?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.