0

我正在尝试为不同的环境转换 crossdomain.xml,就像常规的 web.config 文件一样。我已经尝试在 Visual Studio 中使用 SlowCheetah 插件,但它不能很好地与 Web 应用程序配合使用。它不断发布转换文件以及转换后的文件,这是我不想要的。此外,它也为 web.config 转换做到了这一点。

我的另一个想法是将文件和所有转换重命名为 crossdomain.$(Configuration).config,希望 VS 将其拾取并转换它,然后在构建过程中的某处将其重命名为 crossdomain.xml。但是VS根本不会改变它。这是我的转换目前的样子。

跨域配置

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain- policy.dtd">
<cross-domain-policy>
   <allow-access-from domain="*" secure="false" />
</cross-domain-policy>

crossdomain.stage.config

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
   <allow-access-from domain="*.foo.com" secure="true" xdt:Transform="Replace" />
</cross-domain-policy>

有人有什么建议吗?

更新 我花在这上面的时间越多,我就越意识到 .NET 中的部署完全是一场噩梦。仍在试图弄清楚这一点。看起来 VS 发布功能做了某种半途而废的部署。它调用 MSBuild 来收集要部署的文件,然后在 MSBuild 之外手动部署它。因此,无法获取部署路径来进行转换。我必须将它作为参数存根到 MSBuild 中。

4

1 回答 1

0

讨厌回答我自己的问题,但以下链接有助于解决这个问题:

https://stackoverflow.com/a/5381408/546709

<Target Name="TransformOtherConfigs" AfterTargets="CollectWebConfigsToTransform">
<ItemGroup>
<WebConfigsToTransform Include="@(FilesForPackagingFromProject)"
                       Condition="'%(FilesForPackagingFromProject.Extension)'=='.config'"
                       Exclude="*.$(Configuration).config;$(ProjectConfigFileName)">
    <TransformFile>%(RelativeDir)%(Filename).$(Configuration).config</TransformFile>
    <TransformOriginalFile>$(TransformWebConfigIntermediateLocation)\original\%(DestinationRelativePath)</TransformOriginalFile>
    <TransformOutputFile>$(TransformWebConfigIntermediateLocation)\transformed\%(DestinationRelativePath)</TransformOutputFile>
    <TransformScope>$([System.IO.Path]::GetFullPath($(_PackageTempDir)\%(DestinationRelativePath)))</TransformScope>
</WebConfigsToTransform>
   <WebConfigsToTransformOuputs Include="@(WebConfigsToTransform->'%     (TransformOutputFile)')" />
</ItemGroup>
</Target>
于 2012-03-26T21:40:16.407 回答