Asp.net
發布沒有改變 web.config?
我做了一個
web.config(完整的文件,它沒有顯示 XML 錯誤)<?xml version="1.0"?> <configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"> <configSections> ... <location path="." inheritInChildApplications="false"> <connectionStrings> <add name="ElmahLog" connectionString="data source=~/App_Data/Error.db" /> <add name="database" connectionString="w" providerName="System.Data.EntityClient"/> </connectionStrings> </location> ...帶有轉換文件 (
web.Staging.config)<?xml version="1.0"?> <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> <connectionStrings> <add name="database" connectionString="c" providerName="System.Data.EntityClient" xdt:Transform="SetAttributes" xdt:Locator="Match(name)" /> </connectionStrings> <system.web> <compilation xdt:Transform="RemoveAttributes(debug)" /> <customErrors defaultRedirect="error.aspx" mode="RemoteOnly" xdt:Transform="Replace"> </customErrors> </system.web> </configuration>我正在以
Staging模式發布(右鍵點擊網站 > 發布 > 方法:文件系統 …)------ Build started: Project: Drawing, Configuration: Staging Any CPU ------ Drawing -> D:\Project\bin\Staging\Drawing.dll ------ Build started: Project: MySystem, Configuration: Staging Any CPU ------ MySystem -> D:\Project\bin\Staging\MySystem.dll ...但是當我查看
web.config輸出文件夾中的時,它並沒有改變。我在建構日誌中發現了以下內容:
D:\Project\Web.Staging.config(3,2): Warning : No element in the source document matches '/configuration' D:\Project\Web.Staging.config(3,2): Warning : No element in the source document matches '/configuration' D:\Project\Web.Staging.config(3,2): Warning : No element in the source document matches '/configuration' Transformed web.config using Web.Staging.config into obj\Staging\TransformWebConfig\transformed\web.config.可能是什麼問題呢?我這樣做對嗎?
我發現了兩件事:
- 您不能在
<configuration>標籤上設置命名空間(例如: for<location path="." inheritInChildApplications="false">)- 您必須注意轉換文件中的正確層次結構。
喜歡
<configuration> <location> <connectionStrings>代替
<configuration> <connectionStrings>
回答晚了,但也許我可以讓別人頭疼。在 Visual Studio 2013 中,有兩個位置可以選擇建構和部署的配置。配置管理器,然後再次使用 Publish Web,嚮導中名為“設置”的第三步允許您選擇要使用的配置。如果您不選擇新配置,它將使用所選配置的轉換而不是您的配置。