我有一个包含多个项目的解决方案,转换在其他项目中工作,但不适用于此项目。可能是什么原因?
该项目是MVC 4应用程序
解决方案的配置管理器显示,当解决方案配置为LIVE时,它应该使用项目的LIVE配置。
有一个Web.config,Web.Live.config,Web.Stage.config
在Web.Live.config中我有这段代码:
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.web>
<compilation debug="false" xdt:Transform="SetAttributes"></compilation>
</system.web>
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="Redirect to https" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
我将其发布到我的Web服务器,确保配置设置为Live。
服务器上的Web配置不包含转换。
有什么想法吗?
答案 0 :(得分:1)
我已经解决了这个问题,在这种情况下我似乎必须将xdt:Transform="Insert"
添加到<rewrite>
标记。
我不知道为什么我需要这样做,因为转换后的配置文件的默认模板包含插入代码的标记,没有这样的属性可以正常工作......