这发生在Visual Studio Community 2017最新更新之后.每当我尝试打开我的项目时,我都会收到以下警告:
警告IDE0006加载项目时遇到错误.某些项目功能(例如失败项目的完整解决方案分析和依赖它的项目)已被禁用.Core.Tests
然后,当我运行构建时,我得到:
错误"ResolvePackageFileConflicts"任务意外失败.System.ArgumentException:路径中的非法字符.
位于 Microsoft.NET.Build的Microsoft.NET.Build.Tasks.ItemUtilities.GetTargetPath(ITaskItem项目)的
System.IO.Path.GetFileName(String path)上的System.IO.Path.CheckInvalidPathChars(String path,Boolean checkAdditional) . Microsoft.Build.Tasks.ConflictResolution.ResolvePackageFileConflicts中的Tasks.ItemUtilities.GetReferenceTargetPath(ITaskItem项).<> c. 在Microsoft.NET.Build.Tasks.ConflictResolution.ConflictResolver`1.ResolveConflicts(IEnumerable`1 conflictItems,Func`2 getItemKey,Action`1 foundConflict,Boolean commitWinner,Action`1 unresolvedConflict) 中的<ExecuteCore> b__35_1(ConflictItem ci) Microsoft的Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() 中的Microsoft.NET.Build.Tasks.TaskBase.Execute() 中的.NET.Build.Tasks.ConflictResolution.ResolvePackageFileConflicts.ExecuteCore().Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask> d__26.MoveNext()Core.Tests
然后
错误CS0006元数据文件'C:\ tmp\backend\Tests\DataLoader.Tests\bin\Debug\DataLoader.Tests.dll'找不到EResourceConnector.Tests C:\ tmp\backend\Tests\EResourceConnector.Tests\CSC 1活性
项目的路径仅限拉丁字符.在构建服务器上构建正在运行,但是在VS的最后一次更新之后,我的计算机上没有.我试图重新安装VS,但这没有帮助.
那么这个问题是否有任何解决方案或至少暗示?
编辑:我试图排除受此问题影响且有效的文件.但这不是我的问题的解决方案.有趣的是,只有受影响的文件才是单元测试.
编辑2:我尝试使用最新的Visual Studio 2017在新的Windows 10上构建完整的解决方案,但它失败了所以这显然是我的解决方案的问题,但仅限于新版本的VS. 我在Visual Studio 2015上尝试了我的解决方案并且构建工作正常.
无论如何,这里是例如Core.Test.csproj导致该问题的文件之一.https://pastebin.com/kq7MFLV1
当我尝试在包含网站的Visual Studio(2010 SP1)中构建我的解决方案时,我得到以下有趣的错误.
------ Build started: Project: C:\...\Web\, Configuration: Debug Any CPU ------
Validating Web Site
: Build (web): Illegal characters in path.
Validation Complete
Run Code Online (Sandbox Code Playgroud)
即使构建详细程度设置为诊断,也没有任何其他信息.我试图删除我能找到的所有临时文件,重新启动我能做的一切.我甚至从头开始重新获取我的整个svn文件夹并重建..错误仍然存在.然后,相当随机,错误消失了.现在,大约一天后,它回来了.