2012-06-26 134 views
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

回答

1

我試過VS2010下, 如果指定:

<SpecificVersion>False</SpecificVersion> 

<Reference></Reference>下的版本將被忽略。

+0

謝謝,尼科。您是否能夠找到關於在Reference標籤中解析/使用Include屬性數據的信息?我仍在試圖弄清爲什麼它開始出現。 – SethO

+0

你想知道爲什麼......? 您可以看看codeplex上的源代碼: http://nuget.codeplex.com 照顧NuGet程序集(該項目稱爲CommandLine),沒有很多程序集引用Microsoft.Build API .. 我敢打賭,'NuGet.Common.MSBuildProjectSystem'類的** AddReference **方法中發生了一些變化。 看看相應的文件的歷史(** MSBuildProjectSystem.cs **) 祝你好運:) – Nico

+0

我明白,NuGet的源代碼把它放在那裏。我更感興趣的是如何在接收端解析和使用它。知道將'SpecificVersion'設置爲false可以讓MSBuild忽略'Reference'中的版本,這使得我的查詢在這一點上是純粹學術的。您已經減輕了對「Include」屬性中額外數據的擔憂。 – SethO

相關問題