-1

我的 VS2019 解决方案带有一个 WPF 项目,已开始显示一个名为“**”的虚拟文件夹,其中包含以下文件树:

 - **
    - *
    - *.cs
        - *.resx
    - *.xaml

并且因为这些文件是用非法语法命名的,VS 给出了一个错误:System.ArgumentException: Illegal characters in path,我的其余目录/文件现在被标记为 Excluded,大概是因为它无法读取这些幻影非法命名的文件。

我正在处理的项目使用 SharpCompress 对 rar、zip 和 7z 文件进行大量文件处理和解压缩,因此我有可能不小心创建了一个空白或“**”目录,这会造成混乱某处,但这仍然很奇怪,因为我什至无法删除这些东西,因为它们已经存在。

这些文件存在于解决方案的根目录中,并且仅存在于 Visual Studio 的解决方案资源管理器窗口中。我在 Windows 文件资源管理器、CMD 或 Powershell 中看不到它们。我在 csproj 中看不到它们……我在任何地方都看不到它们。

我尝试过的修复:

  • 重新启动 Visual Studio
  • 删除 bin/obj 文件夹
  • 删除 csproj.user 文件
  • 删除 .vs 文件夹
  • 重命名幻影文件(如果我这样做,我会得到第二个幻影文件,其名称是我选择的,并且“**”命名的文件仍然存在)
  • 在整个解决方案中搜索“**”(一无所获)

目前我只能推测我的项目是闹鬼的。

路径中非法字符的完整 VS 错误是:

=====================
06/12/2020 23:17:16
Recoverable
System.ArgumentException: Illegal characters in path.
   at System.Security.Permissions.FileIOPermission.EmulateFileIOPermissionChecks(String fullPath)
   at System.Security.Permissions.FileIOPermission.QuickDemand(FileIOPermissionAccess access, String fullPath, Boolean checkForDuplicates, Boolean needFullPath)
   at Microsoft.VisualStudio.PlatformUI.Packages.FileChange.DefaultFileSystem.PathWrapper.GetFullPath(String path)
   at Microsoft.VisualStudio.Services.FileChangeService.ValidateAndNormalize(String path, String paramName)
   at Microsoft.VisualStudio.Services.FileChangeService.AdviseFileChangeCore(String filename, _VSFILECHANGEFLAGS filter, EventSinkBundle bundle, CancellationToken token)
   at Microsoft.VisualStudio.Services.FileChangeService.<>c__DisplayClass89_0.<AdviseFileChangeAsync>b__0(CancellationToken token)
   at Microsoft.VisualStudio.Services.FileChangeService.<RunWithTracingAsync>d__125`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.ProjectEvaluationAdditionalDependentFileWatchingService.<CheckContentIrrelevantFileDependenciesStateAsync>d__22.MoveNext()
===================
4

1 回答 1

0

删除路径中的空格和任何其他特殊字符,然后删除所有临时 Visual Studio 文件并构建输出文件。

于 2020-12-07T21:42:21.183 回答