首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SlowCheetah Azure web角色未转换

SlowCheetah Azure web角色未转换
EN

Stack Overflow用户
提问于 2014-06-02 13:13:50
回答 1查看 420关注 0票数 0

我在Visual 2013解决方案中使用SlowCheetah 2.5.10.6,在该解决方案中,我希望创建一个用于部署的web角色包。我正在使用Azure工具2.3。我的默认web.config转换工作正常。但是,SlowCheetah转换不起作用。不知何故,这应该是可行的:慢速猎豹第5期,在我的输出窗口中,我看到了以下内容:

代码语言:javascript
复制
1>Task "SlowCheetah.Xdt.TransformXml"
1>  Transfroming source file: D:\web\Project\src\Project.Web\App_Config\OTAP\connectionStrings.config
1>  Applying Transform File: App_Config\OTAP\connectionStrings.O.config
1>  Output File: bin\App_Config\OTAP\connectionStrings.config
1>Done executing task "SlowCheetah.Xdt.TransformXml".

在我的bin文件夹中,我看到了正确转换的文件。

我还在输出中看到了以下一行:

代码语言:javascript
复制
3>  Task "Message"
3>      TransformedWebFiles = App_Config\OTAP\connectionStrings.config, DestinationRelativePath=App_Config\OTAP\connectionStrings.config, Exclude=False, FromTarget=CollectFilesFromContent, Category=Run, ProjectFileType=Default

但是在创建包时,将使用原始文件。

代码语言:javascript
复制
3>Target "CopyWebRoleFiles" in file "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Windows Azure Tools\2.3\Microsoft.WindowsAzure.targets" from project "D:\web\Project\src\Project\Project.ccproj" (target "CopyRoleFiles" depends on it):
3>  Task "Message"
3>      CurrentRoleWebFiles=D:\web\Project\src\Project.Web\App_Config\OTAP\appSettings.config -> App_Config\OTAP\appSettings.config
3>  Task "Message"
3>      CurrentRoleWebFiles=D:\web\Project\src\Project.Web\App_Config\OTAP\connectionStrings.config -> App_Config\OTAP\connectionStrings.config

因此,我的基本配置在包中使用,我希望使用connectionStrings.*.config。有人知道我在这里做错了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-03 05:39:48

我用以下MSBuild脚本修复了这个问题:

代码语言:javascript
复制
<Target Name="DeploySlowCheetahTransforms" AfterTargets="CopyWebRoleFiles" Condition="'@(WebRoleReferences)' != ''">
    <PropertyGroup>
      <IntermediateWebOutputPath>%(WebRoleReferences.OutputDir)</IntermediateWebOutputPath>
    </PropertyGroup>
    <ItemGroup>
        <TransformedFiles Include="$(WebTargetDir)\**\*.config" Exclude="$(WebTargetDir)\**\*.dll.config;$(WebTargetDir)\**\web*.config" />
    </ItemGroup>
    <Copy SourceFiles="@(TransformedFiles)" DestinationFiles="@(TransformedFiles->'$(IntermediateWebOutputPath)\%(RecursiveDir)%(Filename)%(Extension)')" />
</Target>

这个脚本需要添加到ccproj文件中。WebRoleReferencesWebTargetDir变量是在Microsoft.WindowsAzure.targets中创建的。此脚本从csproj文件的OutputPath获取所有转换的配置文件,并将它们复制到用于创建Azure WebRole包的OutputDir中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23995423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档