Iva*_*tev 200 .net nuget .net-4.5 visual-studio-2012
我已经将目前针对VS2010中的.NET 4.0的解决方案迁移到VS2012,现在我想将其重新定位到.Net 4.5
我不确定的是NuGet包.例如,我在VS2010中从EF4更新的EF5实际上是EF 4.4,如下所示:
<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>
Run Code Online (Sandbox Code Playgroud)
我还可以在packages.config中看到以下项目:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EntityFramework" version="5.0.0" targetFramework="net40" />
</packages>
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:
将目前设置为.NET 4.0的所有NuGet包重新定位到目标.NET 4.5的最佳做法是什么?
Jef*_*ley 264
NuGet 2.1提供的功能使这更简单:只需update-package -reinstall -ignoreDependencies
从Package Manager控制台进行操作即可.
NuGet 2.0无法很好地重新定位您的应用程序.要更改软件包的目标框架,必须卸载并重新安装软件包(记下已安装的软件包,以便重新安装每个软件包).
必须卸载并重新安装软件包的原因是:
vpa*_*lmu 42
对于那些遇到update-package -reinstall <packagename>
命令问题的人,可以考虑使用-ignoreDependencies
flag 运行它,如下所示:
update-package -reinstall <packagename> -ignoreDependencies
Run Code Online (Sandbox Code Playgroud)
此标志将单独保留您的包依赖项,否则它们可能会更新,即使您最初需要重新安装的程序包仍然保持其版本相同.
更多信息在这里.
Bo *_*sen 22
在尝试接受的答案失败后,我想建议一个风险较低的命令:
Update-Package <PackageName> -ProjectName <ProjectName> -Reinstall -IgnoreDependencies
Run Code Online (Sandbox Code Playgroud)
欲了解更多信息:http: //blog.nuget.org/20121231/a-quick-tutorial-on-update-package-command.html
归档时间: |
|
查看次数: |
68939 次 |
最近记录: |