我们使用SlowCheetah为项目执行 app.config
转换 . 但是,在尝试将构建过程移动到Visual Studio Online时,我无法再构建解决方案 . 构建失败,因为找不到 .dll.config
文件 . 我相信这是由SlowCheetah引起的 .
这里's what we'重新使用: SlowCheetah 2.5.10.6
. 作为构建模板,我正在使用 TfvcTemplate.12.xaml
进程 . 我的NuGet版本为2.8,并且为解决方案启用了包恢复 .
我遇到过一些类似的问题,但大多数解决方案适用于VS2012或旧版本的SlowCheetah和NuGet .
6月17日更新
在仔细查看MSBuild生成的日志文件后,我发现转换成功,当我的项目构建完成后,我在日志中看到了这一行: Copying file from "obj\Release\Assembly.Worker.csproj-sc.App.config" to "C:\a\bin\Assembly.Worker.dll.config"
.
但是,我还有一个Azure Cloud 服务项目,它是下一个构建的 . 这是构建失败的地方 .
这是我在日志中找到的: C:\a\src\ProjectFolder\Assembly.Azure\Assembly.Azure.ccproj(101,5): error MSB3030: Could not copy the file "..\Assembly.Worker\bin\Release\Assembly.Worker.dll.config" because it was not found.
显然,SlowCheetah创建了一个转换后的配置文件并将其保存为 .csproj-sc.app.config
文件,而Azure项目则查找正常的 app.config
文件 . 有趣的是,在本地构建Azure项目可以正常工作 .
1 回答
最后,我通过更改
Properties
文件夹中的SlowCheetah.Transforms.targets
文件来解决问题 .在第157行,我插入了以下代码,以将转换后的文件复制到Azure期望的路径: