我想将 .NET 解决方案移至 AzureDevOps 并将其构建为 YAML 管道的一部分:
该解决方案包含一个 .resx 文件,需要在其上运行 PublicResXFileCodeGenerator 以生成 *.Designer.cs 文件。 即在 Visual Studio 中手动构建解决方案时,我右键单击该文件并选择“运行自定义工具”。
如果我在 AzureDevOps 中构建此解决方案,我目前会收到错误消息:
##[error]CSC(0,0):错误 CS2001:找不到源文件“D:\a\1\s\solution1\Translations\Translations.Designer.cs”。
问题: 我如何在 AzureDevOps 管道中使用 YAML 语句来实现这一点?
我希望可能有一种以某种方式调用自定义工具的方法。 [例如:如果我在网上搜索,我可以看到关于自定义工具的 msbuild - 但不是在 AzureDevOps 设置中。]
(如果我在我的开发 PC 上在 Translations\Translations.resx 上运行 resgen,我只会得到一个 Translations.resources 文件。需要采取一个步骤来执行此操作并创建一个 *.Designer.cs 文件,因此这看起来像不去。)
答案 0 :(得分:0)
您可以使用 Resgen 工具生成 *.Designer.cs 文件。有关详细信息,请参阅 here。
在 azure 管道中通过 Resgen 从 .resx 文件生成 .cs 文件。您只需要添加一个脚本任务即可运行 resgen 命令。
Resgen 工具可以在 windows-2019/vs2017-win2016 云代理的文件夹 C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools
中找到。见here。
请参阅以下 powershell 任务中的示例。:
steps:
- powershell: |
cd "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools"
.\resgen.exe "$(system.defaultworkingdirectory)\path\to\myresxfile.resx" /str:cs