【问题标题】:Removing ConnectionString when deploying with Visual Studio 2012使用 Visual Studio 2012 部署时删除 ConnectionString
【发布时间】:2013-02-13 23:43:12
【问题描述】:

我正在开发一个包含 2 个 Web 应用程序的项目,一个作为长时间运行的进程托管(使用 appfabric),另一个只是一个普通的 MVC 应用程序。 它们共享相同的数据上下文,因此共享相同的连接字符串。 appfabric 应用程序部署为主应用程序的子应用程序,利用 web.config 继承(我们不希望连接字符串在 web config 中重复)

我的问题是,使用新的 Visual Studio 2012 发布向导时,连接字符串会自动添加,即使我取消选中“在运行时使用此连接字符串”框也是如此。

我也尝试像这样使用网络配置转换:

  <connectionStrings>
      <add xdt:Transform="RemoveAll" />
  </connectionStrings>

但发布后连接字符串仍在我的网络配置中。

有什么建议吗?我正在考虑完全删除该子应用程序的 Web 配置,但这并不理想。

【问题讨论】:

  • 是否应用了其他任何转换?是全部跳过,还是只跳过这一个?
  • 您将转换逻辑放在 Web.config.Release 中(假设您在名为“Release”的配置中发布),对吧?
  • 对你们俩都是。使用 Release 和 transform 被应用:例如以下是很好的应用
  • 我不能确切地说出您需要做什么,但是当我在我的一个项目中解决转换问题时,this tool 非常有帮助。它让我可以预览转换的结果,这样我就可以进行更改并立即看到影响。
  • 我要去微软论坛试一试,因为对我来说这听起来像是他们发布向导中的一个错误。我的猜测是他们发布向导首先应用配置转换,然后将所有连接字符串对应于项目中使用的任何数据上下文。

标签: c# iis visual-studio-2012 web-config publishing


【解决方案1】:

可以在这里找到答案: Web Deploy / Publish is adding a unknown connection string?

通过编辑 XML 将此项目属性添加到 .csproj 文件:

<Project>
    <PropertyGroup>

         <AutoParameterizationWebConfigConnectionStrings>false</AutoParameterizationWebConfigConnectionStrings>

   ...
    </PropertyGroup>
...
</Project>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-27
    • 2021-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-28
    • 2014-05-21
    相关资源
    最近更新 更多