gpt4 book ai didi

azure - SlowCheetah Azure Web 角色未转换

转载 作者:行者123 更新时间:2023-12-03 05:09:19 25 4
gpt4 key购买 nike

我在 Visual Studio 2013 解决方案中使用 SlowCheetah 2.5.10.6,我想在其中创建用于部署的 Web 角色包。我正在使用 Azure 工具 2.3。我的默认 web.config 转换工作正常。然而,SlowCheetah 变换不起作用。不知何故,这应该有效:Slow Cheetah issue 5在我的输出窗口中,我看到以下内容:

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 文件夹中,我看到正确转换的文件。

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

3>  Task "Message"
3> TransformedWebFiles = App_Config\OTAP\connectionStrings.config, DestinationRelativePath=App_Config\OTAP\connectionStrings.config, Exclude=False, FromTarget=CollectFilesFromContent, Category=Run, ProjectFileType=Default

但是当创建包时,会使用原始文件

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。有人知道我在这里做错了什么吗?

最佳答案

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

<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。

关于azure - SlowCheetah Azure Web 角色未转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23995423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com