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 一无所知。显然,这以前总是可以工作,所以我不知道发生了什么变化导致它不再工作。任何建议都将不胜感激,因为我已经在这方面浪费了很多时间。顺便说一句,这个问题出现在 Visual Studio 2010 和 2012 中。

谢谢

4

2 回答 2

1

好的,问题解决了。事实证明,错误消息实际上引用了解决方案引用的 XML 文件(包含一些部署文件)。此 XML 已以某种方式损坏,它确实符合消息“.”,十六进制值 0x00。删除此功能(无论如何都不需要部署)后,问题消失了,因此世界可以再次成为一个快乐的地方(或者至少我的经理是!)

于 2012-12-03T16:33:10.530 回答
0

我从互联网上下载了一个 msbuild 文件后遇到了这个问题。在十六进制编辑器中打开新下载的文件,我很快就发现了问题所在。该文件是用2字节字符下载的,每隔一个字节是0。我认为Notepad ++说编码是UCS-2。无论如何,修复非常简单。Notepad++ 有一个编码菜单选项,我用来将文件重写为 UTF-8。将文件改回 UTF-8 立即解决了问题。

希望这对未来的人们有所帮助。

--附录 - 我可能曾尝试在文件编码更改之前使用 PowerShell 处理文件。

于 2015-05-23T00:34:17.537 回答