从另一个项目开始一个过程,以在C#中进行集成测试

时间:2019-04-12 13:50:22

标签: c# .net .net-core

我有一个.NET Framework项目,该项目要求在同一解决方案中从.NET Core项目运行内置的控制台应用程序。

以示例文件结构为例:

  • no-data
  • Test/bin/Debug/Test.exe

当前方法涉及starting a new process,类似于以下内容:

Service/bin/Debug/netcoreapp2.2/Service.dll

我对.NET相当陌生,因此不确定是否可以实现以下想法:

  • 在运行测试应用程序时修改路径,以便我可以使用dotnet run ../../../Service/bin/Debug/netcoreapp2.2/Service.dll 启动服务过程。
  • 获取Test项目以将Service build文件复制到Test build文件夹中。

要获得加分,如果/当Framework项目升级到Core时,是否可以通过dotnet run Service.dll在另一个应用程序中启动Core应用程序进程?

编辑:

为了澄清起见,我希望避免使用该硬编码的相对路径来构建输出文件夹,因为它在Framework和Core以及不同版本的Core之间改变。 我的希望是找到一个内置变量或功能来获取另一个项目的构建位置(即使我需要对Debug / Release部分进行硬编码)。

例如(请使用伪代码):

using

1 个答案:

答案 0 :(得分:0)

如果在Visual Studio中右键单击项目,则可以定义构建前和构建后任务(构建事件)。

是的..如果两个应用程序都使用.NET Core,则可以添加对类库/控制台应用程序的引用,并使用公共类型。