在 VS2022 上,我打开从 codeproject 下载的解决方案 该解决方案曾经在 .net Framework 4.6.1 中使用;当我在 VS2022 中打开它时,它已迁移到 .net Framework 4.8 不确定以上信息是否相关。 但是当我尝试启动它(Project Win Form)时,我遇到了问题,因为
Application.ExecutablePath
返回带有反斜杠和正斜杠的不一致字符串。
C:\HOMEWARE\Code\C#/BrainTeaser2/Demo/bin/Debug/Demo.exe
后来,我有一个外部库,它使用这个属性如下Application.ExecutablePath.LeftOfRightmostOf("\\")
所以它走错了路。
有人面临同样的问题吗? 有没有办法让 Application.ExecutablePath 返回此字符串: C:\HOMEWARE\Code\C#\BrainTeaser2\Demo in\Debug\Demo.exe
(我在.NET 8中从我的VS2022构建了一个新的Win Form项目,并且Application.ExecutablePath的格式很好。所以我不认为我的问题会被其他人重现。但是如果有人得到任何线索来解决我的问题无需创建新的解决方案并重新创建所有项目,这会很棒。)
首先:两条路径都是完全有效的。混合目录分隔符不是错误,但您可能会称其为不便。
根据您发布的代码,“外部库”肯定有一个错误。如果您可以控制它,则应该修复该问题,以便正确使用两个路径分隔符。
此外,您可能需要查看 .csproj 文件以查找要替换的路径。