5

変なことがありました。web.config 変換ファイルを使用しています。Web 展開としてローカル iis に公開しようとすると、次のエラーが発生します。

エラー 1160 「ParameterizeTransformXml」タスクが予期せず失敗しました。System.UriFormatException: 無効な URI: URI が空です。Microsoft.Build.BackEnd.TaskExecutionHost
. Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() で Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost、TaskLoggingContext taskLoggingContext、TaskHost taskHost、ItemBucket バケット、TaskExecutionMode howToExecuteTask、Boolean& taskResult)

プロジェクトにいくつかの画像ファイルを追加する前は機能していましたが、変換ファイルが基本的に同じである場合はデバッグ モードで機能します。

誰かがこれに遭遇し、これを引き起こしている可能性があることを知っていますか?

これは、Visual Studio 2010 およびフレームワーク 4.0、Windows 7 の下にあります。

4

3 に答える 3

5

同じエラーメッセージが表示されました。他の環境で誰かが手動で多くの変更を加えた web.config の新しいバージョンをコピーした後に発生しました。

準バイナリ検索を使用して問題を見つけました。つまり、Beyond Compare を使用して、変更の前半をコピーし、それでもエラーが発生するかどうかを確認します。もしそうなら、私は最初からやり直し、変更の最初の四半期にのみコピーします...

私にとってのエラーは次の設定でした:

<setting name="InvalidItemNameChars" value="\/:?&quot;&lt;>|[]" />

「より大きい」記号に注意してください。

設定を次のように変更して修正しました。

<setting name="InvalidItemNameChars" value="\/:?&quot;&lt;&gt;|[]" />
于 2012-02-13T22:58:34.430 に答える
1

メインの web.config (ほとんどの場合) または変換のいずれかの構成ファイルが編集されている可能性があります。また、エンコーディング形式が ANSI から UTF8 などに変更され、エスケープ文字が混乱している可能性があります。

現在のバージョンと古いバージョンをファイルとして保存し、比較データ比較を超えて使用するときにのみ、それを見つけました。各比較ウィンドウへのコピーと貼り付けを使用した以前の比較では問題が発生しなかったことに注意してください。ファイルを使用して比較してください。

于 2011-05-25T16:43:05.563 に答える