![](/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.