我已經將目前針對VS2010中.NET 4.0的解決方案遷移到VS2012,現在我想將其重新定位到.Net 4.5。我不確定的是NuGet包。例如EF5,這是我從EF4在VS2010更新原來實際上是EF 4.4,你可以在這裏看到:從.Net 4.0重新定位解決方案到4.5 - 如何重新定位NuGet包?
<Reference Include="EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\EntityFramework.5.0.0\lib\net40\EntityFramework.dll</HintPath>
</Reference>
我還可以看到在packages.config以下項目爲:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EntityFramework" version="5.0.0" targetFramework="net40" />
</packages>
所以我的問題是:
什麼是最好的做法重新目標所有的NuGet包,目前設置爲目標.NET 4.0的目標.NET 4.5?
使用VS 2012與ASP.NET MVC 4項目後重新 - 將.NET Framework從4.0版本定向到4.5,我在Package Manager Console中執行了'update-package -reinstall'。所有軟件包開始被卸載和更新,並且突然重啓Windows 8,當它回來時它告訴「你的電腦出現問題並重新啓動,你想發送信息給微軟嗎?」 :(嚇跑...順便說一句,這是我現在安裝的NuGet版本:'2.2.40116.9051'在這裏打開一個問題:http://nuget.codeplex.com/workitem/3049 – 2013-02-18 15:16:01
-reinstall選項有從來沒有爲我工作過,它要麼以錯誤的順序排除錯誤,「不能刪除X,因爲Y依賴於它」,或者有時候只是不讀取軟件包,最後一次嘗試它時,它刪除了EntityFramework,然後再也沒有 - 添加它 – CodingWithSpike 2013-04-16 15:21:27
順便說一句,如果你想針對* CLR2和CLR4編譯一個項目,你可以製作一個.csproj文件的副本,但你的packages.config需要保留包。 config ... – Jaykul 2013-08-02 22:31:28