部署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一无所知,我不确定这里发生了什么。显然这总是习惯于以前工作所以我不知道改变了什么导致它不再起作用。任何建议都会非常感激,因为我已经浪费了很多时间。顺便说一句,Visual Studio 2010和2012都会出现此问题。
由于
答案 0 :(得分:1)
好的,问题排序了。事实证明,错误消息实际上是指解决方案引用的XML文件(包含一些部署文件)。这个XML以某种方式被破坏,它适合消息'。',十六进制值0x00。删除此功能后(无论如何不需要部署)问题就消失了,所以世界可以再次成为一个幸福的地方(或者至少我的经理!)
答案 1 :(得分:0)
我从互联网上下载msbuild文件后遇到了这个问题。在十六进制编辑器中打开新下载的文件向我展示了问题很快。该文件以2字节字符下载,每隔一个字节为0.我认为Notepad ++表示编码是UCS-2。无论如何,修复非常简单。 Notepad ++有一个编码菜单选项,我用它将文件重写为UTF-8。将文件更改回UTF-8会立即解决问题。
希望这有助于未来的人们。
- 附录 - 在编码发生变化之前,我可能尝试使用PowerShell来处理文件。