簡體   English   中英

基於解決方案的條件參考路徑

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM