0
我們的一個底層項目通過NuGet打包並分發(內部),以便其他團隊可以使用該庫 - 我們稱之爲「Core」。隨着的NuGet 1.x中,我們得到了我們的.csproj文件看起來是這樣的一個參考:NuGet 2.0的.csproj文件中的新參考項目是什麼?
<Reference Include="Core">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\Core.1.4.1.381\lib\net40\Core.dll</HintPath>
升級到2.0的NuGet後,同樣的參考如下:
<Reference Include="Core, Version=1.4.1.381, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\Core.1.4.1.381\lib\net40\Core.dll</HintPath>
在Include
屬性,版本問題?我明確地將SpecificVersion
設置爲false。我已經瀏覽了MSBuild Project File Schema Reference,但沒有看到關於如何解析此屬性的任何信息。
感謝您對此的意見。
-SethO
謝謝,尼科。您是否能夠找到關於在Reference標籤中解析/使用Include屬性數據的信息?我仍在試圖弄清爲什麼它開始出現。 – SethO
你想知道爲什麼......? 您可以看看codeplex上的源代碼: http://nuget.codeplex.com 照顧NuGet程序集(該項目稱爲CommandLine),沒有很多程序集引用Microsoft.Build API .. 我敢打賭,'NuGet.Common.MSBuildProjectSystem'類的** AddReference **方法中發生了一些變化。 看看相應的文件的歷史(** MSBuildProjectSystem.cs **) 祝你好運:) – Nico
我明白,NuGet的源代碼把它放在那裏。我更感興趣的是如何在接收端解析和使用它。知道將'SpecificVersion'設置爲false可以讓MSBuild忽略'Reference'中的版本,這使得我的查詢在這一點上是純粹學術的。您已經減輕了對「Include」屬性中額外數據的擔憂。 – SethO