1

SharePointプロジェクトを展開すると、次のエラーが発生します。

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\SharePointTools\Microsoft.VisualStudio.SharePoint.targets(375,5): error : '.', hexadecimal value 0x00, is an invalid character. Line 1, position 1.

行番号は、ビルドXMLの以下に関連しています。

<CreateSharePointProjectService Configuration="$(Configuration)"
              Platform="$(Platform)"
              ProjectFile="$(MSBuildProjectFile)"
              ProjectReferences="@(SharePointProjectReference)"
              OutDir="$(TargetDir)">
  <Output PropertyName="ProjectService" TaskParameter="ProjectService" />
</CreateSharePointProjectService>

さらに、私は問題を(または少なくとも一見)次のプロパティに絞り込むことができました:

ProjectFile="$(MSBuildProjectFile)"

つまり、このプロパティを削除すると、同じエラーメッセージは表示されなくなります(ただし、結果として他のメッセージが表示されます)。

MSBuildについて何も知らないので、ここで何が起こっているのかわかりません。明らかに、これは以前は常に機能していたので、機能しなくなるために何が変更されたのかわかりません。私はすでにこれに多くの時間を浪費しているので、どんな提案も大いに感謝されます。ところで、この問題はVisualStudio2010と2012の両方で発生します。

ありがとう

4

2 に答える 2

1

OK、問題は解決しました。エラー メッセージは、実際にはソリューションによって参照されている XML ファイル (いくつかの展開ファイルを含む) を参照していたことが判明しました。この XML は何らかの理由で破損しており、メッセージ「.」、16 ​​進値 0x00 に適合します。この機能を削除した後 (いずれにせよ展開する必要はありませんでした)、問題は解消され、世界は再び幸せな場所であり続けることができます (または、少なくとも私のマネージャーは!)

于 2012-12-03T16:33:10.530 に答える
0

インターネットからmsbuildファイルをダウンロードした後、これに遭遇しました。新しくダウンロードしたファイルを 16 進エディターで開くと、問題の原因がすぐにわかりました。ファイルは 2 バイト文字でダウンロードされ、1 バイトおきに 0 でした。Notepad++ はエンコーディングが UCS-2 であると言ったと思います。いずれにせよ、修正は非常に簡単でした。Notepad++ には、ファイルを UTF-8 として書き換えるために使用したエンコード メニュー オプションがあります。ファイルを UTF-8 に戻すと、すぐに問題が解決しました。

これが将来人々に役立つことを願っています。

-- 補遺 - エンコーディングが変更される前に、PowerShell を使用してファイルをいじろうとした可能性があります。

于 2015-05-23T00:34:17.537 に答える