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

问题描述 投票:0回答:1

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

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

我的问题是实现此目标的最佳方法。我是否应该在自动化项目中包括一个Excel工作簿文件夹。

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

c# azure-devops azure-automation
1个回答
0
投票

自动化项目是一个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所在的输出目录。根据需要,您应该在此处指定工作簿。


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

只需正常配置构建管道,并使用dlls任务

pack

这些输出。然后发布管道将获取并访问它。
© www.soinside.com 2019 - 2024. All rights reserved.