2012-06-08 29 views
5

MSBuildを使用してMy Asp.Net MVC 3、.Net 4 Applicationをパッケージ化して公開しています。私はすでにMVC 1.0、.Net 3.5アプリケーションでこれを成功させました。私は私のビルドサーバー上で同じ問題を持っていたMSBuild IISの問題

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(2046, 5): error MSB4044: The "EscapeTextForRegularExpressions" task was not given a value for the required parameter "Text".

+0

これは、 'BaseIntermediateOutputPath'が空の場合に発生し、エラーで参照される" Text "パラメータに空の値を渡しているようです。再建が助けになるかもしれません。 – KMoraz

+0

空白のクラウドサービスWebroleをWebアプリケーションに移行した後、Aにも同じエラーが発生しました。 .csprojでIncludeIisSettingsをFalseに設定すると、それが解決されます。 – Magu

答えて

8

:私は私の.projファイルにIISの設定(IncludeIisSettings=true)を含めるたび

は、私は次のビルドエラーが発生します。

パッケージは開発マシン上で完全にビルドされますが、ビルドサーバーでのエラーと全く同じですが失敗します。私の問題は、私のマシンをビルドするときに、アプリケーションがIISに登録されていないという事実に起因していました。私はこのプロジェクトで、あなたが言及した設定IncludeIisSettings=trueを可能にし、いくつかの間接的な方法で、IIS Expressでローカルテストを有効にしたとき

問題が始まりました。これにより、WebデプロイメントパイプラインはIISにサイトの詳細を問い合わせます。ビルドサーバーにIIS 7またはIIS Expressがインストールされていないため、これらの設定を取得できませんでした。 EscapeTextForRegularExpressionsタスクに渡されるパラメータが空であるため、最終的に上記のエラーが発生します。

私のソリューションは、(例えば.wpp.targetsファイルのhereを参照)アプリケーション.wpp.targetsファイルにFalseIncludeIisSettingsを設定することでした。 IISの設定を明示的に指定しても問題はありません。

WebMatrixを使用してIIS Expressでサイトを登録することでビルドを修正することもできました。 Visual Studioでサイトを実行すると同じ効果があります。

1

私が持っていた問題は、特にラップトップを切り替えた後のWindows 7のUAC設定のアクセス許可でした。

私の前の設定を精査した結果、私はまだデフォルトのUAC設定があることに気付きました。変更するにはStart > Control Panel > User Accounts > User Accounts > Change User Account Control Settingsに行ってください。バーをNever notifyにドラッグします。ここで

は役に立つことができ、私が観察し、いくつかの追加的な症状です:

私はIncludeIisSettings=trueでローカルにMSBuildを実行したとき、私が問題になっているのと同じエラーを受け取りました。

私は、例えば、関連分野における権限エラーを得ていた管理者だが、いくつかの不満や間違ったターンの後、私はその理由を把握できませんでしたIncludeIisSettings=falseを設定して展開ファイルを実行しようとすると、パーミッションエラーが発生しました。

こうして、私はUAC設定を調べて解決策を見つけることに決めました。

+0

残念なことに助けてくれませんでした。私は管理者としてVSを実行し、UACを最低にして、同じエラーが残っています。しかし、あなたのために良い! (Windows 10、iis設定のオンとオフを試してみました) – ignacy130

0

IncludeIisSettings = trueで、 "The" EscapeTextForRegularExpressions "タスクを使用してsuccefullビルドを実行したソリューションに、必須パラメータ" Text "の値が指定されていませんでした。エラーは次のとおりです。

  • Visual Studioをビルドサーバーにインストールします(既に完了しています)。
  • IISをビルドサーバーにインストールします。
  • IISでは、既定のWebサイトでhttps(ポート443)のバインディングを追加し、Visual Studio(IIS Express開発証明書)によってインストールされた証明書を使用します。
関連する問題