2 回答

TA贡献1784条经验 获得超8个赞
似乎您有 2 个选项,这两个选项都很简单:
将您的目标框架更改为 netcoreapp*
编辑您的项目文件并更改
<TargetFramework>net461</TargetFramework>
至
<TargetFramework>netcoreapp2.1</TargetFramework>
(或您希望定位的任何版本的 .NET Core。我相信 SDK 2.1.500 是 netcoreapp2.1。)
在 .NET Framework 项目中使用 XUnit
创建一个 .NET Framework 类库项目并安装xunit
NuGet 包。然后你可以像平常一样开始使用 XUnit,它可以引用你的 web 项目。
要在 VS 中运行测试,您还需要该xunit.runner.visualstudio
软件包。

TA贡献1864条经验 获得超6个赞
Visual Studio 仅显示支持的转换。虽然从 .NET Framework 转换到 .NET Core 并不像更改版本号那么简单。
您可以使用try-convert对项目文件进行必要的修改。确保您--diff-only
首先使用检查更改。
您应该查看Nate McMaster 的迁移指南和Additions to the csproj format for .NET Core以了解更改。
Microsoft 不支持该工具,也不能保证执行 100% 转换。
不以任何方式支持此工具。
这个工具是为谁准备的?
此工具适用于希望在将项目迁移到 .NET Core(或 .NET SDK 样式的项目)时获得一点帮助的任何人。
顾名思义,此工具不能保证将项目完全转换为 100% 的工作状态。该工具是保守的,并且尽其所能确保转换后的项目仍然可以加载到 Visual Studio 中并进行构建。但是,有大量因素会导致项目无法加载或构建,而该工具并未明确涵盖这些因素。这些包括:
您的解决方案中可能包含的复杂的自定义构建
与 .NET Core 不兼容的 API 使用
不受支持的项目类型(例如 Xamarin、WebForms 或 WCF 项目)
如果您的大部分代码库通常能够迁移到 .NET Core(例如许多没有特定于平台的代码的类库),那么这个工具应该会有所帮助。
强烈建议您在受源代码控制的项目上使用此工具。
强调我的。
为什么?
.NET Core 和 .NET Framework 使用非常不同的csproj
格式并以不同的方式处理包引用,尤其是瞬态依赖项,即另一个包需要的包。
在 .NET Frameworkpackages.config
中包含所有包,这意味着您不知道真正需要哪些包。在 .NET Core 中没有packages.config
. 这些csproj
文件PackageReference
仅包含顶级依赖项的元素。
在旧csproj
格式中,您必须明确包含每个源文件。在新格式中,所有源文件都会自动包含在内,从而生成一个非常易于编辑的文件。
做出这些改变并非易事。直到最近,这还是一个手动过程。就个人而言,我只是删除了所有内容,复制了最小的 XML 并添加了包引用,直到我成功构建。即使那样,我也不得不手动添加有关包含/排除/copty-to-output 文件的行。如果我有带有条件等的自定义构建步骤,事情会变得更加困难。
- 2 回答
- 0 关注
- 653 浏览
添加回答
举报