Visual studio 2017 切换回packages.config-回答澄清
按照规定,我必须问一个新问题,以澄清另一个问题/答案 答案是这样的: 然后呢?只是做了接受的回答,但是packages.config文件没有填充包(我知道它没有这么说) 如果软件包自动出现在packages.config中,或者我需要再次安装它们,我将错过下一步要做的事情 我倾向于后者,但我觉得答案并不完整:)Visual studio 2017 切换回packages.config-回答澄清,visual-studio-2017,nuget,packagereference,packages.config,Visual Studio 2017,Nuget,Packagereference,Packages.config,按照规定,我必须问一个新问题,以澄清另一个问题/答案 答案是这样的: 然后呢?只是做了接受的回答,但是packages.config文件没有填充包(我知道它没有这么说) 如果软件包自动出现在packages.config中,或者我需要再次安装它们,我将错过下一步要做的事情 我倾向于后者,但我觉得答案并不完整:) 但是该怎么办呢?首先,您是否介意编辑您的问题,或者作为评论发布,为什么要恢复到packages.config?作为NuGet团队的一员,了解PackageReference不适用于您的原
但是该怎么办呢?首先,您是否介意编辑您的问题,或者作为评论发布,为什么要恢复到packages.config?作为NuGet团队的一员,了解PackageReference不适用于您的原因非常有用。如果这不是在a,include部分中列出的原因之一,也许我们可以帮助解决该问题,以便您可以继续使用PackageReference 如果您真的想恢复到packages.config,我建议您使用以下内容,而不是您链接的答案
Allow format selection
PackageReference
的所有实例PackageReference
->packages.config
自动迁移项目是不受支持的
检查螺纹:
要完成此操作,您可以执行以下步骤:
首先,将包管理更改为Packages.config,工具
->选项
->NuGet包管理器
->包管理
:
其次,卸载项目并对其进行编辑,从项目文件中删除所有PackageReference
元素(确保项目文件中未设置该元素)
第三,重新加载项目,然后重新安装这些包
希望这能有所帮助。原始答案提到创建一个空的packages.config文件,但正如您所提到的,并没有指出下一步要做什么。一个选择是再次安装它们。另一个选项是编辑packages.config文件并将包信息添加到packages.config文件中。但是,与packages.config文件一样,packagesreference不包括项目文件中的所有依赖项。因此,您需要使用“更新包-重新安装”来重新安装它们,以确保添加缺少的包。我们发现,使用包引用我们的生成没有正确打包(nuget pack)依赖项。于是我们又回复了。你的过程就是我们最终要做的。不时清除obj文件夹,以使VS中的参考列表正确显示。今天上午我与我的团队进行了交谈,他们告诉我,dotnet cli有自己的目标,即使在运行“旧式”csproj(不是SDK项目)时也是如此。如果已安装.NET Core(包括dotnet cli),则可以尝试
dotnet pack myproj.csproj
打包PackageReference项目并自动获取nuget依赖项。不过我还没有时间亲自测试。如果您可以将项目迁移到SDK项目,那么肯定不会有问题,因为这是它设计的场景。不幸的是,并非存在于非SDK项目中的SDK项目中的所有功能都存在(GUI应用程序是最大的违规者,但甚至有些库也存在问题)。由于,非SDK项目中的PackageReference基本上已中断,因此我们唯一的选择是迁移回packages.config。@qid您链接的错误只是nuget.exe无法打包ProjectReference,您需要使用msbuild-t:pack
(必要时导入nuget.Build.Tasks.pack,如不使用SDK项目). 考虑到没有打包的项目比打包的项目多得多,虽然我承认您和其他客户遇到了问题,但说整个功能“基本上坏了”感觉不公平。在某些情况下,它工作得很好。@zivkan我已经尝试过这种方法,但是MSBuild失败了,说找不到“pack”目标。我在链接的github问题上添加了一条关于这一点的评论。我同意这个问题不会影响所有场景,但在它确实影响的场景中,目前还没有可用的解决方案。