在C#自动化项目中将Excel电子表格上传为Azure DevOps源文件

我有一个C#Excel自动化项目,该项目在发布管道中运行,并且与生产代码位于相同的存储库中,尽管位于不同的解决方案文件中。我想让自动化项目使用罐头Excel工作簿作为自动化的起点,而不是创建新工作簿并使用用户定义的函数调用动态填充单元格。

自动化项目是一个NUnit测试项目,可以编译为DLL,我希望有一个单独的工作簿目录,该目录没有编译为自动化DLL。

我的问题是做到这一点的最佳方法。我是否应该在自动化项目中包括一个Excel工作簿文件夹。

如何将这些文件放入构建管道,以便发布管道可以访问它们以及MSI安装文件和自动化DLL?假设我应该将其作为构建管道的一部分实施,而不是将文件下载作为由构建管道触发的发布管道过程的一部分。

NICHNICHNICH 回答:在C#自动化项目中将Excel电子表格上传为Azure DevOps源文件

  

自动化项目是一个NUnit测试项目,可以编译成一个   DLL,并希望有一个单独的工作簿目录,该目录不是   编译到自动化DLL中。

如果我不误解此要求,则希望此工作簿可以与Dlls一起存在,但不希望对其进行编译。

在Visual Studio中,有一个选项可以实现类似的功能。

右键单击 Excel文件-> 属性,然后选择关于Copy to Output Directory的相应操作:

enter image description here

对应于此操作,.csproj文件将添加一些脚本:

  <ItemGroup>
    <None Update="MyFile.xlsx">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
  </ItemGroup> 

使用<CopyToOutputDirectory>确定是否将该文件复制到Dll所在的输出目录。根据需要,您应该在此处指定工作簿。


如果通过指定相应的工作簿将以上脚本添加到.csproj中,则与Azure Devops Service中的相同。然后,该工作簿将与output一起生成到dlls文件夹中。最重要的是,此工作簿不会被编译,因为它只是被复制到输出中。

只需按常规配置构建管道,并使用Publish Build artifacts任务打包这些输出即可。然后,发布管道将获取并访问它。

本文链接:https://www.f2er.com/3083995.html

大家都在问