VBS*_*arr 15 c# migrate visual-studio
我继承了一个 VS-2015 C# 应用程序,并希望将其迁移到 VS 2017 或 2019。它有一个包含 4 个包的 packages.config 文件:
<package id="AjaxControlToolkit" version="15.1.4.0" targetFramework="net4" />
<package id="EntityFramework" version="6.0.0" targetFramework="net4" />
<package id="Microsoft.AspNet.Providers" version="2.0.0" targetFramework="net4" />
<package id="Microsoft.AspNet.Providers.Core" version="2.0.0" targetFramework="net4" />
Run Code Online (Sandbox Code Playgroud)
项目的 sln 文件的前几行是:
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}")
Run Code Online (Sandbox Code Playgroud)
我想将packages.config 文件迁移到csproj 文件。
在 Visual Studio 2017 中,我尝试通过右键单击 packages.config 并单击“将 packages.config 迁移到 PackageReference”来迁移它,但它给了我一个错误:
操作失败 - 项目不符合迁移条件。
我也试过这个工具:https : //github.com/hvanbakel/CsprojToVs2017 ,这也失败了。
真的没有办法将它迁移到 .csproj 吗?
ADy*_*son 17
我已在较旧的 ASP.NET 项目中使用了此问题的解决方法(并且可能也适用于其他出现此问题的项目类型)。
本质上,迁移工具仍然可以工作,但首先您必须在进行迁移时欺骗 Visual Studio(暂时)认为您的项目是类库而不是 Web 项目。
详细步骤:
如果您的项目/解决方案在 Visual Studio 中打开,请关闭它,并对其进行备份。
在文本编辑器中打开 .csproj 文件
剪切ProjectGuid和ProjectTypeGuids条目,并将它们临时粘贴到其他地方。
插入<ProjectGuid>{7C796B6B-86B5-4C57-ADAA-12CF1FECDA71}</ProjectGuid>您ProjectGuid之前输入的位置,并保存文件
在 Visual Studio(2017 或更高版本)中打开项目
右键单击 packages.config 文件并选择迁移到包引用的选项。
迁移成功后,再次关闭项目/解决方案。
返回 .csproj 文件并将ProjectGuid条目替换为您在步骤 3 中保存的ProjectGuid和ProjectTypeGuids条目。
在 Visual Studio 中重新打开项目。您现在应该可以正常使用它了。
到目前为止,这对我有两个项目。我不能保证在边缘情况或更复杂的项目中不会有任何副作用,但这当然是您可以尝试的。
信贷这个GitHub上评论为理念。
根据文档:
迁移目前不适用于 C++ 和 ASP.NET 项目。
例如,迁移(通过右键单击包文件)适用于控制台应用程序。
| 归档时间: |
|
| 查看次数: |
2811 次 |
| 最近记录: |