我尝试将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>
答案 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来说是隐藏的。