首页 > 解决方案 > 在 Visual Studio for Mac 中将项目添加到现有的 .net core 3.1 项目

问题描述

我有一个现有的 .net 3.1 函数应用程序,我正在尝试向其中添加另一个项目。目前的结构显示

在此处输入图像描述

接下来,我右键单击最上面的目录(使用 EIQT-765),然后选择 Add -> New Project。我选择一个 xunit 项目模板并添加。我最终得到了这个(注意 functions.test 在根目录中,并且在原始目录中

在此处输入图像描述

在解决方案级别重建后(再次右键单击最顶层的目录),我可以向最初生成的 UnitTest1.cs 文件添加一个简单的断言并右键单击该文件(在解决方案资源管理器中显示的任一位置)并运行测试很好。

当我添加一些需要使用应用程序中的类的真实测试内容时,我会收到很多“找不到类型或命名空间错误”

在此处输入图像描述

作为一名新生.net 开发人员,我过去通过从测试项目中添加对真实项目的引用解决了这个问题。我这里也是这样做的,右键点击最上面的functions.test文件夹->添加->引用->选择真实项目。 在此处输入图像描述

不确定它是否相关,但测试项目现在有一个 mono_crash.[string].json 文件,这看起来不太好:D。

接下来,我将 Xunit 包添加到 functions.test 项目中。但是,除非我将 Xunit 包添加到实际项目中,否则该解决方案将不再构建。

最后,在这一切之后,我在尝试重建 Error CS0579: Duplicate 'global::System.Runtime.Versioning.TargetFrameworkAttribute' attribute (CS0579) 我目前陷入困境的解决方案时遇到以下错误。

这是将项目添加到现有项目的正确方法吗?我从事的其他项目首先被设置为解决方案,我从未遇到过添加其他项目的问题。我需要做什么来解决这个问题?

这个问题https://github.com/dotnet/core/issues/4837让我相信我需要重新安排我的项目结构,但我只是不确定如何使用 .net 项目来做到这一点。

标签: .net-core

解决方案


这是 github 线程中的相同问题。为了解决这个问题,我小心翼翼地移动了一些东西,直到我有了这样的结构

/FunctionsApp
functionsapp.sln
/FunctionsApp/Functions <-- all the original work went in here, including the .csproj

然后我不得不用新路径手动更新functionsapp.sln。之后,我可以按照“添加项目”和“添加引用”的过程进行操作,我的测试现在可以运行了。


推荐阅读