SlowCheetah没有在构建时转换文件

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)

  • @Toolkit你添加SlowCheetah的csproj/project文件 (2认同)

Tho*_*lin 14

检查项目,是否存在名为SlowCheetah的文件夹,其中包含SlowCheetah.Transforms.targets文件.如果缺少此文件,请尝试以下步骤:

  1. 右键单击解决方案
  2. "管理解决方案的NuGet包...",浏览SlowCheetah
  3. 点击"管理"
  4. 取消选择您的项目,然后单击"确定"
  5. 再次点击"管理"
  6. 选择你的项目并再次点击"确定"

这将重新创建丢失的文件.

  • _SlowCheetah_文件夹在_Properties_文件夹下创建. (3认同)

use*_*286 11

  • @TravisParks对我来说,我已经从http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5安装了SlowCheetah,这让我可以进行添加变换和预览变换,但不会更改输出配置.然后我从nuget安装了SlowCheetah并且它工作了. (5认同)
  • 这标记为已回答,但是哪个步骤解决了问题? (2认同)
  • @ChrisCameron刚从网站上安装了VS2013 Up5上的SlowCheetah.预览有效,但在构建时不会进行转换.从Nuget安装修复了这个问题.谢谢! (2认同)

小智 5

如上所述重新安装后,我需要将subTypetransformOnBuild节点添加到我的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)


Fra*_*Liu 5

请注意,您必须为有问题的项目安装SlowCheetah Visual Studio扩展 SlowCheetah nuget程序包,才能进行转换。