我们使用SlowCheetah为项目执行app.config转换。但是,当试图将生成进程移动到时,我无法再构建解决方案。生成失败,因为找不到.dll.config文件。我相信这是由SlowCheetah引起的。
下面是我们使用的内容:SlowCheetah 2.5.10.6。作为构建模板,我使用的是TfvcTemplate.12.xaml过程。我的NuGet版本为2.8,并且为解决方案启用了包恢复。
我遇到了一些类似的问题,但大多数解决方案都适用于VS2012或SlowCheetah和NuGet的旧版本。
6月17日最新情况
在更仔细地查看了MSBuild生成的日志文件之后,我发现转换成功了,在构建我的项目时,我在log:Copying file from "obj\Release\Assembly.Worker.csproj-sc.App.config" to "C:\a\bin\Assembly.Worker.dll.config"中看到了这一行。
然而,我也有一个Azure云服务项目,它是下一个构建的。这里是构建失败的地方。
这就是我在日志中发现的: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项目很好。
发布于 2014-07-24 07:50:16
最后,我通过更改SlowCheetah.Transforms.targets文件夹中的Properties文件解决了这个问题。
在第157行,我插入了以下代码,将转换后的文件复制到Azure期望的路径上:
<Copy Condition=" '$(_Sc_HasAppConfigTransform)'=='true' "
SourceFiles="$(__SC_IntermediateAppConfig)"
DestinationFiles="$(MSBuildProjectDirectory)\bin\Release\$(MSBuildProjectName).dll.config"
SkipUnchangedFiles="true" ContinueOnError="false" />https://stackoverflow.com/questions/24245150
复制相似问题