从基本文件夹而不是bin文件夹使用web.config

时间:2019-06-13 22:52:28

标签: asp.net .net

我有一个asp.net mvc网页。我正在使用它的配置转换。 bin目录中的config转换正确。但是,当我使用IIS Express调试时,使用的所有应用程序设置实际上都来自原始的web.config,而不是bin文件夹中转换后的web.config。如果我将web.config重命名为根文件夹中的其他名称,则调试将在尝试读取连接字符串后立即停止,因为它表示未初始化。有什么问题吗?

1 个答案:

答案 0 :(得分:0)

仅当发布项目时转换才适用。但是他们是一个黑客

您可以尝试使用以下代码。您的原始配置应该在Web.Base.Config

<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>

您还可以在下面的URL中引用它,因为它有时会进行两次转换,并且需要为beforebuild添加步骤

https://sebnilsson.com/blog/asp-net-transform-web-config-with-debug-release-on-build/