在更新Visual Studio for Mac以支持iPad OS 13之后,TFS Eclipse引发错误“服务器路径中不允许字符0x007c('|')”

Ram*_*rai 6 eclipse tfs xamarin.ios

我们更新了最新的mac视觉工作室,以支持Apple最近发布的iPad OS 13中的iOS应用(Xamarin)。更新之后,在检测本地签入更改时,我们在Eclipse中遇到以下错误。

The character 0x007c ('|') is not permitted in server paths '$/<path_to_product>/.vs/<project_name>/xs/project-cache/ProjectName-Debug|iPhone.json'.
Run Code Online (Sandbox Code Playgroud)

这似乎是TFS不支持的带有管道符号的文件名(“ ProjectName-Debug | iPhone.json”)。但是该文件是由IDE(Visual Studio for Mac,Xcode 11)自动生成的,并且包含以下信息(ProjectReferences,MetadataReferences,带有路径的已添加文件,BuildActions等)。管道符号存在两个文件。一种用于实际设备,另一种用于模拟器。

  • ProjectName-Debug | iPhone.json
  • ProjectName-Debug | iPhoneSimulator.json

有人面对这个问题吗?如何解决。

以下是版本详细信息。

  • Mac OS 10.14.6
  • Eclipse 4.7.3
  • Xcode 11
  • Visual Studio for Mac 8.2.6

提前致谢。

快速修复:目前,我们正在提交更改时手动删除这些文件。再次它将自动重新生成。

Pat*_*SFT 0

对于本地工作区,您应该使用.tfignore file 来忽略文件。例如

# Ignore the NuGet packages folder in the root of the repository.
# If needed, prefix 'packages' with additional folder names if it's 
# not in the same folder as .tfignore.
packages

# include package target files which may be required for msbuild,
# again prefixing the folder name as needed.
!packages/*.targets
Run Code Online (Sandbox Code Playgroud)

至于如何生成这个文件,请参考我在这个问题中的回答:Visual Studio 2015 TFS .tfignore file

注意:此 .tfignore 文件不会影响源代码管理中已有的文件。

在提交更改时手动删除这些文件。然后确保您的 .tfignore 文件已签入源代码管理。下次自动生成的这些文件将被源代码管理排除在待定更改中。