Ric*_* S. 30 xml config-transformation slowcheetah xdt-transform web.config-transform
我有一个项目,我试图使用SlowCheetah.我已经在我的构建配置中创建了我的配置文件(Test.web.config)和我想要使用的所有转换(Debug_Mock.config,Debug_SQL.config,Release)我有一个后期构建事件应该复制转换后的文件进入另一个目录但找不到该文件
(错误xcopy退出代码4)
SlowCheetah似乎没有像我期望的那样转换文件并将其放在输出目录(bin文件夹)中.有没有人有任何想法,为什么它没有发生,也许在某处设置?
仅供参考:此过程适用于具有相同项目的另一台计算机.至于我可以告诉同样的设置.但我可能没有找到正确的地方.
lau*_*cee 30
对我来说,我发现问题是配置文件中的慢速猎豹属性组低于检查它是否存在的部分.
因此,修复只是将属性组移动到该行的某个位置,这将允许转换按预期运行.
把这个:
<PropertyGroup Label="SlowCheetah">
<SlowCheetahToolsPath>$([System.IO.Path]::GetFullPath( $(MSBuildProjectDirectory)\..\packages\SlowCheetah.2.5.10.3\tools\))</SlowCheetahToolsPath>
<SlowCheetah_EnableImportFromNuGet Condition=" '$(SC_EnableImportFromNuGet)'=='' ">true</SlowCheetah_EnableImportFromNuGet>
<SlowCheetah_NuGetImportPath Condition=" '$(SlowCheetah_NuGetImportPath)'=='' ">$([System.IO.Path]::GetFullPath( $(MSBuildProjectDirectory)\Properties\SlowCheetah\SlowCheetah.Transforms.targets ))</SlowCheetah_NuGetImportPath>
<SlowCheetahTargets Condition=" '$(SlowCheetah_EnableImportFromNuGet)'=='true' and Exists('$(SlowCheetah_NuGetImportPath)') ">$(SlowCheetah_NuGetImportPath)</SlowCheetahTargets>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
在此之上:
<Import Project="$(SlowCheetahTargets)" Condition="Exists('$(SlowCheetahTargets)')" Label="SlowCheetah" />
Run Code Online (Sandbox Code Playgroud)
Tho*_*lin 14
检查项目,是否存在名为SlowCheetah的文件夹,其中包含SlowCheetah.Transforms.targets文件.如果缺少此文件,请尝试以下步骤:
这将重新创建丢失的文件.
use*_*286 11
启用build verbosity(Tools -> Options -> Projects and Solutions
-> Build and Run)并查看正在运行的版本与不运行的版本之间的差异.
据我所知,慢 - Cheetah支持app.config文件的配置转换,但web.configs目前不支持调试.它应该将转换web.config后的bin文件放在项目的文件夹中,但您的项目仍然会从config file根文件夹中读取.请查看http://sedodream.com/CommentView,guid,68b7e248-b9f5-4d07-bdfe-eb037bcf2cbb.aspx上的前/后构建事件
.
您可以在https://github.com/sayedihashimi/slow-cheetah/issues/39上请求调试的Web配置转换支持
尝试重新安装Slow-Cheetah.
小智 5
如上所述重新安装后,我需要将subType和transformOnBuild节点添加到我的csproj文件中,它开始为我工作。
<None Include="App.config">
<SubType>Designer</SubType>
<TransformOnBuild>true</TransformOnBuild>
</None>
<None Include="App.QA.config">
<DependentUpon>App.config</DependentUpon>
<IsTransformFile>True</IsTransformFile>
</None>
Run Code Online (Sandbox Code Playgroud)