我有一个C#Excel自动化项目,该项目在发布管道中运行,并且与生产代码位于相同的存储库中,尽管位于不同的解决方案文件中。我希望自动化项目使用罐头Excel工作簿作为自动化的起点,而不是创建新工作簿并使用用户定义的函数调用动态填充单元格。
自动化项目是一个编译为DLL的NUnit测试项目,我希望有一个单独的工作簿目录,该目录未编译为自动化DLL。
我的问题是实现此目标的最佳方法。我是否应该在自动化项目中包括一个Excel工作簿文件夹。
如何将这些文件放入构建管道,以便发布管道可以访问它们以及MSI安装文件和自动化DLL?假设我应该将此作为构建管道的一部分来实现,而不是作为构建管道触发的发布管道过程的一部分来下载文件。
自动化项目是一个NUnit测试项目,可以编译成一个DLL,并希望有一个单独的工作簿目录,该目录不是编译到自动化DLL中。
如果我不误解此要求,您希望此工作簿可以与Dlls一起存在,但不希望对其进行编译。
在Visual Studio中,有一个选项可以实现类似的功能。
右键单击 Excel文件-> 属性,然后选择关于Copy to Output Directory
的相应操作:
对应于此操作,.csproj文件将添加一些脚本:
<ItemGroup>
<None Update="MyFile.xlsx">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
使用<CopyToOutputDirectory>
确定是否将该文件复制到Dll所在的输出目录。根据需要,您应该在此处指定工作簿。
与Azure Devops Service中的相同,如果通过指定相应的工作簿将以上脚本添加到<CopyToOutputDirectory>
中。然后,此工作簿将与.csproj
一起生成到output
文件夹中。最重要的是,此工作簿不会被编译,因为它只是被[[copied到输出中。
dlls
任务pack
这些输出。然后发布管道将获取并访问它。