如何将.NET Core项目转换为.NET Framework项目?

33

我在Visual Studio中创建了一个“Console App (.NET Core)”项目。现在,我需要添加一个仅适用于.NET Framework 4.6+而不是.NET Core的依赖项。

有没有一种方法将我的项目转换为完整的.NET Framework项目?


这是我尝试过的:

我进入了项目属性并尝试更改项目框架,但是我在下拉菜单中没有看到所需的选项:

Only .NETCoreApp displays in the target framework list.

如果我点击“安装其他框架……”,我会跳转到一个页面,其中提到.NET Framework版本包含在Visual Studio 2017中--这正是我用来编辑此项目的工具。这就是我卡住的地方。


2
在.csproj中,只需将<TargetFramework>netcoreapp1.1</TargetFramework>改为<TargetFramework>net46</TargetFramework><TargetFramework>net462</TargetFramework>- 工作完成。 - Marc Gravell
@MarcGravell 你的评论对于使用MVC的.NET Core也适用吗?我希望有一个针对不同转换需求的指南。 - swcraft
1个回答

41

如果您仍然满意使用新工具,最简单的方法可能就是编辑项目文件(csproj)。在“解决方案资源管理器”中右键单击该项目,您应该会看到一个上下文菜单选项“编辑<yourproject>.csproj”。点击它,然后只需更改

<TargetFramework>netcoreapp1.1</TargetFramework>

<TargetFramework>net46</TargetFramework>

...我认为你应该没问题了。(它可能会让VS在恢复适当的包等方面有一点混乱。)


2
有没有办法从 netcoreapp2.2 转换到 net48?我已经更改了项目文件,但是出现了一个错误,指出 Microsoft.AspNetCore.All 2.2.6 包与 net48 不兼容。 - mslissap
2
@mslissap:我相信你需要停止使用那个元包并改用具体的软件包。请参见 https://learn.microsoft.com/en-us/aspnet/core/migration/21-to-22?view=aspnetcore-2.2&tabs=visual-studio,其中提供了一些可能有用的指令。 - Jon Skeet
我该如何做到这一点,同时能够使用ClickOnce? - user6439507
1
@Shemiroth:我不知道ClickOnce是否支持.NET Core。https://dev59.com/H1MI5IYBdhLWcg3wXqVz表明可能不支持。 - Jon Skeet
@Shemiroth:啊,抱歉,我看错了。SDK风格的项目文件可能不支持ClickOnce。 - Jon Skeet
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接