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

将excel电子表格作为Azure DevOps源文件上传到C#自动化项目中,c#,azure-devops,azure-automation,C#,Azure Devops,Azure Automation,我有一个C#Excel自动化项目,它运行在发布管道中,与我的生产代码位于同一个repo中,但位于不同的解决方案文件中。我希望自动化项目使用罐装Excel工作簿作为自动化的起点,而不是创建新工作簿,并使用用户定义的函数调用动态填充单元格 自动化项目是一个NUnit测试项目,可以编译成DLL,我希望有一个单独的工作簿目录,而不是编译成自动化DLL 我的问题是如何做到这一点。我是否应该在自动化项目中包含一个Excel工作簿文件夹 如何将这些文件放入构建管道中,以便发布管道能够访问它们以及MSI安装文件

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

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

我的问题是如何做到这一点。我是否应该在自动化项目中包含一个Excel工作簿文件夹

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

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

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

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

右键单击excel文件->属性,然后选择有关
复制到输出目录的相应操作

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

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

保存最新
用于确定是否将此文件复制到DLL所在的输出目录。在您的需求中,您应该在此处指定工作簿


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

只需将构建管道配置为正常,并使用
Publish build artifacts
task将这些输出打包即可。然后发布管道将获取并访问它