Webdeploy - 在排除的app_data文件夹中排除了连接字符串的预编译asp.net应用程序错误

时间:2016-05-18 09:00:29

标签: asp.net .net web-config webdeploy precompile

我尝试将webdeploy用于我们的asp.net应用程序。今天我尝试激活“发布时预编译”标志。看起来这个标志不能与“从App_Data文件夹中排除文件”一起使用。

在我在webdeploy中激活预编译之前,一切正常。如果我从connectionStrings中删除configSource并运行带预编译的webdeploy,它将再次工作。

问题是我必须加载外部连接字符串文件,因为它将由生产环境的管理员管理。

我从webdeploy获得的错误消息是:

“加载配置文件时出错:目录'C:\ MyProject \ obj \ Release \ AspnetCompileMerge \ Source \ App_Data'不存在。无法开始监控文件更改。”

我目前的设置如下: Web.Config中:

<configuration>
  <!-- Section stuff here -->
  <connectionStrings configSource="App_Data\DBConnection.xml" />
  <!-- More stuff here -->
</configuration>

新的webdeploy设置: enter image description here enter image description here

2 个答案:

答案 0 :(得分:0)

尝试通过将以下MSBuild脚本添加到项目文件或wpp.targets文件中来从包中排除配置文件:

<ItemGroup>  
  <ExcludeFromPackageFiles Include="App_Data\DBConnection.xml">  
    <FromTarget>Project</FromTarget> 
  </ExcludeFromPackageFiles> 
</ItemGroup> 

答案 1 :(得分:0)

嘿这对我们不起作用。但是我们在最近几天也更新了我们的tfs,我们查看了webdeploy参数,这些参数可以使用我们新的tfs中的发布管理器轻松设置。所以我们只是将连接字符读入web.config,而不是编译所有内容。最后,我们决定了它将被部署的位置,而不是我们自动设置连接线,这对我们Devs来说是隐藏的。