在 VS2017 中调试 Razor class 库时,“#”符号不能在 csproj/sln 路径名中
"#" sign cannot be in csproj/sln pathname when debugging Razor class library in VS2017
在学习 Razor class 库 (RCL) 功能期间,我发现了一个非常奇怪的错误,我花了几个小时才确定。尝试调试项目时,我无法 #
登录路径名。
重现步骤:
- 将存储库 git@github.com:zoka-cz/CSharpDirNameProblem.git 克隆到您想要的任何目录(迭代 1 - 确保
#
不在路径名中的任何位置,如 c:\tmp\CSharpDirNameProblem\
| 迭代 2 - 确保 #
在目录名称中,例如 c:\tmp\C#\CSharpDirNameProblem\
)
- 打开解决方案
src\CSharpDirNameProblem.sln
(我有VS2017,不知道其他版本)
- 设置
WebApplication1
作为启动项目和运行。
- 在打开的浏览器中单击
About
页面并观察不同的结果。
- 从第一个点开始进行第二次迭代,否则结束。
提到的存储库是重现问题的最小设置。首先,它是用很少的剃刀视图创建的 RCL 项目。然后创建 WebApplication
(MVC Web 应用程序)项目,添加 RCL 作为参考,更改 About
页面以测试 RCL 项目视图。很简单的。
但是,当我的项目路径中有 #
符号时,它无法从 RCL 中找到视图。 Web 应用程序工作,但它没有找到 RCL 视图。您可以想象我花了多少时间来寻找问题。现在我知道我不能在名称中包含 #
,但我想知道为什么,以及是否可以解决这个问题(我的很多项目都位于我的 ...Projects\C#
目录中)。
有谁知道是什么导致了这个问题?是 IIS Express 吗?是Visual studio吗?是 AspNetCore 的问题吗?我能以某种方式单独修复它吗?我可以自己找到问题的根源吗?或者在某处举报?
首先,这个问题是合法的,我能够使用 Visual Studio 2019 和 .net core 3.0.100 重现它。
我提出了一个 bug report on the AspNetCore 存储库(在此处引用您的问题),因为它看起来不像我们可以想出解决方法的东西。
好消息是它已经广为人知 issue,并且正在处理中。不太好的消息是它要等到 下一个主要版本 .
才能修复
在学习 Razor class 库 (RCL) 功能期间,我发现了一个非常奇怪的错误,我花了几个小时才确定。尝试调试项目时,我无法 #
登录路径名。
重现步骤:
- 将存储库 git@github.com:zoka-cz/CSharpDirNameProblem.git 克隆到您想要的任何目录(迭代 1 - 确保
#
不在路径名中的任何位置,如c:\tmp\CSharpDirNameProblem\
| 迭代 2 - 确保#
在目录名称中,例如c:\tmp\C#\CSharpDirNameProblem\
) - 打开解决方案
src\CSharpDirNameProblem.sln
(我有VS2017,不知道其他版本) - 设置
WebApplication1
作为启动项目和运行。 - 在打开的浏览器中单击
About
页面并观察不同的结果。 - 从第一个点开始进行第二次迭代,否则结束。
提到的存储库是重现问题的最小设置。首先,它是用很少的剃刀视图创建的 RCL 项目。然后创建 WebApplication
(MVC Web 应用程序)项目,添加 RCL 作为参考,更改 About
页面以测试 RCL 项目视图。很简单的。
但是,当我的项目路径中有 #
符号时,它无法从 RCL 中找到视图。 Web 应用程序工作,但它没有找到 RCL 视图。您可以想象我花了多少时间来寻找问题。现在我知道我不能在名称中包含 #
,但我想知道为什么,以及是否可以解决这个问题(我的很多项目都位于我的 ...Projects\C#
目录中)。
有谁知道是什么导致了这个问题?是 IIS Express 吗?是Visual studio吗?是 AspNetCore 的问题吗?我能以某种方式单独修复它吗?我可以自己找到问题的根源吗?或者在某处举报?
首先,这个问题是合法的,我能够使用 Visual Studio 2019 和 .net core 3.0.100 重现它。
我提出了一个 bug report on the AspNetCore 存储库(在此处引用您的问题),因为它看起来不像我们可以想出解决方法的东西。
好消息是它已经广为人知 issue,并且正在处理中。不太好的消息是它要等到 下一个主要版本 .
才能修复