web.debug.config 无效
web.debug.config does not work
我有一个 webb 应用程序,我想在其中利用 web.debug.config 文件,以便在调试时使用测试数据库。这对我不起作用。我的 web.debig.config..
里有这个
<connectionStrings>
<add name="connStr"
connectionString="Data Source=LocalSqlserverName;Initial Catalog=testdb;Persist Security Info=True;User ID=Myusername;Password=mypassword"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
并且在我的 web.config 文件中,此连接字符串指向另一个数据库服务器。但是当我调试时,我可以看到 web.config 文件中的连接字符串被使用而不是 web.debug.config 中的连接字符串。我在这里做错了什么?
正如@esiprogrammer 所说,它通常只在发布时从 Visual Studio 转换。
但是您可以在构建时转换 Web.config
。将此添加到您的 *.csproj
文件:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\WebApplications\Microsoft.WebApplication.targets" />
<Target Name="BeforeBuild">
<TransformXml
Source="Web.Base.config"
Transform="Web.$(Configuration).config"
Destination="Web.config" />
</Target>
保留 Web.Base.config
中的原始配置。启用转换就足够了,它适用于任何 XML 配置文件。
来源:
我有一个 webb 应用程序,我想在其中利用 web.debug.config 文件,以便在调试时使用测试数据库。这对我不起作用。我的 web.debig.config..
里有这个<connectionStrings>
<add name="connStr"
connectionString="Data Source=LocalSqlserverName;Initial Catalog=testdb;Persist Security Info=True;User ID=Myusername;Password=mypassword"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
并且在我的 web.config 文件中,此连接字符串指向另一个数据库服务器。但是当我调试时,我可以看到 web.config 文件中的连接字符串被使用而不是 web.debug.config 中的连接字符串。我在这里做错了什么?
正如@esiprogrammer 所说,它通常只在发布时从 Visual Studio 转换。
但是您可以在构建时转换 Web.config
。将此添加到您的 *.csproj
文件:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\WebApplications\Microsoft.WebApplication.targets" />
<Target Name="BeforeBuild">
<TransformXml
Source="Web.Base.config"
Transform="Web.$(Configuration).config"
Destination="Web.config" />
</Target>
保留 Web.Base.config
中的原始配置。启用转换就足够了,它适用于任何 XML 配置文件。
来源: