.net-core - 在 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 项目来做到这一点。
解决方案
这是 github 线程中的相同问题。为了解决这个问题,我小心翼翼地移动了一些东西,直到我有了这样的结构
/FunctionsApp
functionsapp.sln
/FunctionsApp/Functions <-- all the original work went in here, including the .csproj
然后我不得不用新路径手动更新functionsapp.sln。之后,我可以按照“添加项目”和“添加引用”的过程进行操作,我的测试现在可以运行了。
推荐阅读
- php - Laravel - 使用两个枢轴连接三个表的雄辩方式
- android - 我可以在另一个 android 应用程序中使用 APK 吗?
- deep-learning - 为什么用非线性函数逼近器随机化强化学习模型的样本会减少方差?
- java - 我们如何调试 java 本机内存损坏?
- rabbitmq - 在 RabbitMQ 中重启没有磁盘节点的 RAM 节点
- javascript - 如何在 Google App Script (Javascript ES5) 中实现数据缩减
- css - 否则如果在角度 8
- c++ - 我正在尝试创建一个菜单,但我的代码一直在循环
- android - 在工具栏和导航栏下方设置 ImageView
- php - Laravel 页面不断加载