诡异的Visual Studio编译错误,非代码级编译错误!
使用Visual Studio 2022 17.5.1
版本编译项目的时候,意外发现时不时会出现System.ArgumentException: 路径中具有非法字符
的编译错误。但后续编译一切正常,重启Visual Studio
后,发现有的项目无法正常加载了!
除了这种情况以外,还会提示其它错误:“Persistence = ProjectFileWithInterceptionViaSnapshot”没有项目属性提供程序。
。
通过检查代码,一路狂飙,看着都没有啥毛病啊!
最终在对比文件修改区别,逐个排除最终发现:csproj
文件经过xml
格式化工具格式化过,格式化以后,visual studio在解析的时候不能正常工作,导致内部出现异常,从而引发奇奇怪怪的问题。
最终发现是因为格式化的过程中,导致标签内容出现了较多不需要的空格和换行。如:
<Content Include="$(MSBuildThisFileDirectory)..\..\runtimes\win-x86\native\CefSharp.dll">
<CopyToOutputDirectory>
PreserveNewest
</CopyToOutputDirectory>
<Link>
runtimes\win-x86\native\CefSharp.dll
</Link>
<Visible>
false
</Visible>
</Content>
修正后
<Content Include="$(MSBuildThisFileDirectory)..\..\runtimes\win-x86\native\CefSharp.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Link>runtimes\win-x86\native\CefSharp.dll</Link>
<Visible>false</Visible>
</Content>
按修正后的重新编译,一切恢复正常!
以上问题尚不确定到底是编译器的BUG,还是什么原因,如果有遇上,可以尝试通过上述方法尝试解决!
微信公众号:
欢迎转载分享,如若转载,请标注署名。
本文会经常更新,请阅读原文: https://huchengv5.gitee.io//post/NET-%E8%AF%A1%E5%BC%82%E7%9A%84Visual-Studio%E7%BC%96%E8%AF%91%E9%94%99%E8%AF%AF.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名胡承(包含链接: https://huchengv5.gitee.io/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 。