在VS2017中调试Razor类库时,csproj / sln路径名中不能包含“#”符号

在学习Razor类库(RCL)功能期间,我发现了一个非常奇怪的错误,这使我花费了数小时才能确定。尝试调试项目时,我无法在路径名中登录#

复制步骤:

  1. 将存储库git@github.com:zoka-cz/CSharpDirNameProblem.git克隆到所需的任何目录中(迭代1-确保#不在路径名中,例如c:\tmp\CSharpDirNameProblem\ |迭代2-确保#在目录名称,例如c:\tmp\C#\CSharpDirNameProblem\
  2. 开放式解决方案src\CSharpDirNameProblem.sln(我有VS2017,不确定其他版本)
  3. WebApplication1设置为启动项目并运行。
  4. 在打开的浏览器中,单击About页并观察不同的结果。
  5. 从第一点开始进行第二次迭代,否则完成。

提到的存储库是用于重现此问题的最小设置。首先,它是用很少的剃须刀视图创建的RCL项目。然后创建WebApplication(MVC Web应用程序)项目,添加RCL作为参考,更改About页面以测试RCL项目视图。很简单的。 但是,当我的项目路径中有#标志时,则它无法从RCL中找到视图。该Web应用程序可以运行,但是找不到RCL视图。您可能会想象我花了几个小时来发现问题。现在,我知道我的名字中不能包含#,但是我想知道为什么,以及是否可以解决此问题(我的项目很多都位于我的...Projects\C#目录中)。

有人知道导致问题的原因吗?是IIS Express吗?是Visual Studio吗?是AspNetCore的问题吗?我可以单独解决吗?我可以自己找到问题的根源吗?还是在某处报告?

fandly_jw 回答:在VS2017中调试Razor类库时,csproj / sln路径名中不能包含“#”符号

首先,问题是合法的,我能够使用Visual Studio 2019和.net core 3.0.100来重现它。

我在bug report仓库中提出了一个AspNetCore(请在此处参考您的问题),因为它看起来像我们无法解决的问题。

好消息是它已经是众所周知的issue,并且正在得到解决。不好的消息是,直到下一个主要版本,该问题才会得到解决。

本文链接:https://www.f2er.com/3113886.html

大家都在问