我在VS2010中有一个带有web.config的Web应用程序,如下所示:
...
<configuration>
<connectionStrings>
<add name="ApplicationServices"
connectionString="data source=MyProdDb;Initial Catalog=MyCat;User Id=MyUser;Password=MyPass;"
providerName="System.Data.SqlClient" />
</connectionStrings>
...
和像这样的Web.Debug.config:
...
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<connectionStrings>
<add name="ApplicationServices"
connectionString="data source=MyDevDb;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
...
该项目设置为创建一个Debug构建,当我在调试器中运行它时,我得到MyProdDb
而不是MyDevDb
我错过了什么?
答案 0 :(得分:4)
更新信息
现在可以处理任意基于XML的.config文件,处理可以在构建时而不是在部署时进行
出色地,转换也可以直接在Visual Studio中预览。
答案 1 :(得分:3)
我错过了什么?
您错过了仅在执行部署时才会发生web.config转换的事实。如果您不发布Web应用程序,则不能指望发生任何转换。如果您只是通过点击 F5 在本地运行您的网站,则不会进行转换。只有在您发布应用程序时才会执行转换。
答案 2 :(得分:2)
正如人们所说,web.config版本仅在发布(MSDeploy)时应用。您执行操作的常规方法是在实际的web.config文件中使用“Debug”配置,并对您拥有的每个部署方案进行更改。
答案 3 :(得分:0)
仅在发布时处理Web.config转换。在调试时(即使在发布模式下),正在使用基本的Web.config文件。