我有一个从 Visual Studio 2012 开发和发布的 MVC3 Web 应用程序项目。这是最近迁移的 VS2010 项目。
我的 web.config 是使用<location inheritInChildApplications="false">
标签设置的,因此在虚拟目录中运行的子应用程序不会接受这些设置。
我已经设置了一个 WebDeploy 发布配置文件,它在 VS2010 中完美运行,但在从 VS2012 发布时破坏了我的应用程序。<connectionStrings>
它在关闭上述标记之后添加一个节点</location>
,即使我的<connectionStrings>
节点内已经有一个<location>
节点。由于配置文件无效,这会破坏应用程序。
我尝试从头开始重新创建配置文件,但没有解决问题。
根据我在这里阅读的内容, http: //msdn.microsoft.com/en-us/library/dd465337.aspx,取消选中“ Use this connection string at runtime
”复选框应该指示发布过程不添加连接字符串,但无论如何它都会这样做。
我认为如果我不使用 ,这将不是问题<location inheritInChildApplications="false">
,因为连接字符串会被添加到正确的位置。
另外,请注意,如果我发布到文件系统而不是使用 WebDeploy,则发布的 Web.Config 会正确创建,并且不会添加额外的连接字符串节点。
此问题是否有任何已知的解决方法?