考慮從.sln文件下面的代碼片段:是否可以將.sln文件中的屬性傳遞給MSBuild中的項目文件?
...
# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MainApp", "MainApp\MainApp.csproj", "{FC66E4A5-0538-47DC-B450-788B98D9461E}"
EndProject
...
而從相應MainApp.csproj文件下面的代碼片段:
...
<ItemGroup Condition="$(LibAProjRef) == false">
<Reference Include="LibA, Version=1.0.0.0, Culture=neutral">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Lib\LibA.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition="$(LibAProjRef) == true">
<ProjectReference Include="..\LibA\LibA.csproj">
<Project>{2A45F32B-182B-4B8D-A8A4-1BFBF2E81CAD}</Project>
<Name>LibA</Name>
</ProjectReference>
</ItemGroup>
...
基本上我想在這裏做的是創建一個可以使用另一個庫項目的項目文件,可以是已經構建的項目文件,也可以是項目引用,具體取決於庫項目是否存在於解決方案中。
有沒有辦法將屬性從.sln文件傳遞到項目文件,以便我可以實現這一點?
或者:還有其他方法可以實現嗎?
定製任務如何知道哪個解決方案從哪裏跑? – 2013-05-10 22:09:52
當建立一個SLN(或的msbuild vstudio),這些預定義的宏可用:SolutionDir,SolutionExt,SolutionFileName,解決方案名稱,SolutionPath。你可以通過使用詳細的'詳細'的msbuild構建任何sln來輕鬆地找到這些。 – scobi 2013-12-03 16:54:13