MSBuild的IIS问题(MSBuild IIS issue)

2019-09-17 22:36发布

我使用的MSBuild打包并发布我的Asp.Net MVC 3,.NET 4的应用。 我已经深谙此道的MVC 1.0,NET 3.5的应用程序。

每当我包括IIS设置( IncludeIisSettings=true )在我的.proj文件,我得到下面的生成错误:

C:\ Program Files文件(x86)的\的MSBuild \微软\ VisualStudio的\ V10.0 \网络\ Microsoft.Web.Publishing.targets(2046,5):错误MSB4044:在 “EscapeTextForRegularExpressions” 任务不是必需的给定值参数“文本”。

Answer 1:

我有我的生成服务器上同样的问题。

该计划将完全建立自己的计算机上,但会失败,你有我的生成服务器上完全一样的错误。 对我来说,这个问题是由我建立的机器上,该应用不与IIS注册的事实引起的。

当我在项目和能够使一些间接的方式启用本地测试在IIS快递问题开始IncludeIisSettings=true设置,您提到。 这使得网络部署流水线查询IIS的网站的详细信息。 由于构建服务器没有IIS 7或IIS快递安装了它无法获得这些设置。 这最终导致上述错误,因为传递给参数EscapeTextForRegularExpressions任务是空的。

我的解决办法是设置IncludeIisSettingsFalse的应用.wpp.targets文件(见这里的一个例子.wpp.targets文件)。 如果您为IIS指定的设置明确的,这不应该是一个问题。

我也可以通过注册使用WebMatrix中IIS Express中的网站来解决构建。 在Visual Studio中运行该网站应该有同样的效果。



Answer 2:

我的问题是与权限,特别是UAC设置在Windows 7笔记本电脑转换后。

对我以前的配置仔细检查后,我意识到我仍然有默认的UAC设置。 要改变去Start > Control Panel > User Accounts > User Accounts > Change User Account Control Settings 。 然后拖动滑块一路下跌到Never notify

下面是我观察到这可能是有帮助的一些其他症状:

当我跑的MSBuild本地IncludeIisSettings=true我收到了同样的错误作为的问题。

一些挫折和弯路之后,我无法弄清楚,为什么我虽然是管理员我正在相关领域的权限错误,例如设定当IncludeIisSettings=false ,然后尝试运行,我收到一个权限错误的部署文件。

因此,我决定探究的UAC设置,并找到解决方案。



Answer 3:

该解决方案,我们发现有IncludeIisSettings =真实,有succefull建立与出“的‘EscapeTextForRegularExpressions’任务没有给出所需的参数值‘文本’。” 错误是:

  • 在构建服务器上安装Visual Studio(已完成)。
  • 在构建服务器上安装IIS。
  • 在IIS,在默认网站,添加一个用于HTTPS绑定(端口443),并使用由Visual Studio(IIS Express开发证书)安装证书。


Answer 4:

我不得不改变在属性如下\ Web应用程序的网站

在Servers部分从IISExpress切换到本地IIS,并创建我的vitural目录。 当然,你自然必须有在计算机上安装IIS。



文章来源: MSBuild IIS issue