针对.NET Core 2.0.1 web项目基于C#测试项目.NET 4.7.1



我刚开始使用Visual Studio 2017 Enterprise进行测试驱动开发,但无论我多么努力,都无法实现。我试着在WWW上到处搜寻解决方案,但没有成功。所以我希望这里有人能够提供帮助。问题如下:

我创建了一个ASP。NET核心web应用程序,以及一个单独的测试项目;我使用NUnit作为测试框架(我最初使用xUnit,但由于某种原因,测试消失了,无法运行(。不管怎样,当我尝试引用我的ASP。NET核心Web应用程序的测试项目,显示以下错误:

项目'。。\MyProject\MyProject.csproj以"netcoreapp2.1"为目标。以"为目标的项目不能引用它。NETFramework,版本=v4.7'.UnitTestProject1

有人知道什么可能出错以及如何修复吗?任何帮助都将不胜感激。

致以最良好的问候。

编辑

我在这里就这个问题作一点阐述。我试着在下面举例说明。我附上了三张图片来说明我的意思。

首先,当我想在VisualStudio中创建一个测试项目时,我会转到"测试"模板——在那里我只看到图1中所示的模板——我可以在不同的模板之间进行选择。NET版本,如下拉列表中所示。不管我选择了哪一个,我都收到了我之前帖子中提到的错误。

然后,我尝试使用。NET核心模板中,我发现了两种类型的测试项目:MSTest和xUnit测试(见图2(。MSTest在我的情况下不可用,因为它对于这个确切的应用程序来说有点太有限了。因此,我尝试使用xUnit测试项目。然而,当我这样做时,系统会抱怨缺少各种库,当在解决方案资源管理器的"依赖项"部分查看时,所有库都显示为带有黄色"警告"三角形(见图3(,并且根本无法编译。

所以我有点困了。有什么想法吗?

测试项目的目标。NET Framework 4.7和web项目目标。NET核心应用2.1。

不能将引用从一个添加到另一个,因为它们不兼容。

要解决此问题,您应该创建一个以netcoreapp2.1为目标的测试项目,并将其引用添加到web项目中。

最新更新