我正在尝试为不同的环境转换 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 中。