从 RazorPage 中的另一个项目引用 class
Referencing a class from another project in a RazorPage
我有一个 ASP .Net Core 3.1 项目,名为“MyProject.app”,使用 Razor Pages。该项目引用了另一个名为“Utils.lib”的项目(在同一解决方案中)。后者包含此 class:
namespace Utils.lib
{
public static class PropertyUtils
{
public static void SomeMethod()
{
}
}
}
现在 "MyProject.app" 我有一个剃须刀页面位于:
/Pages/Profile/Index.cshtml
我正在尝试像这样引用我的实用程序 "Utils.lib" class:
Utils.lib.PropertyUtils.SomeMethod()
但我得到的只是
The type or namespace name 'lib' does not exist in the namespace
'MyProject.app.Utils' (are you missing an assembly reference?)
我尝试使用 @using 指令向 _ViewImports.cshtml 添加命名空间,但它给出了相同的错误。
同时,我可以在主项目的任何 .cs 文件中自由使用该方法,但不能在任何 .cshtml 中使用该方法
我在主项目中也有这个 class:
namespace MyProject.app.Utils
{
class SomeOtherUtilClass
{
}
}
我猜这与我命名命名空间的方式有关,但我不知道是什么。
我在这里错过了什么?为什么我不能在 RazorPages 中引用我的 classes?
所以,这是我的答案。如果添加这些 usings
:
,即使在您的 C# 代码中也可以重现该问题
using MyProject.app
using Utils.lib
因为 MyProject.app
包含相同的命名空间,编译器无法找到您的 Utils.lib。
你有两种方法可以解决这个问题:
- 重命名命名空间
- 在您的剃刀页面中使用完整的命名空间路径,例如:
@MyProject.app.Utils.SomeUtilClass
或
@Utils.lib.SomeUtilClass
因此,您必须从 _ViewImports
中删除 @using MyProject.app
我有一个 ASP .Net Core 3.1 项目,名为“MyProject.app”,使用 Razor Pages。该项目引用了另一个名为“Utils.lib”的项目(在同一解决方案中)。后者包含此 class:
namespace Utils.lib
{
public static class PropertyUtils
{
public static void SomeMethod()
{
}
}
}
现在 "MyProject.app" 我有一个剃须刀页面位于:
/Pages/Profile/Index.cshtml
我正在尝试像这样引用我的实用程序 "Utils.lib" class:
Utils.lib.PropertyUtils.SomeMethod()
但我得到的只是
The type or namespace name 'lib' does not exist in the namespace 'MyProject.app.Utils' (are you missing an assembly reference?)
我尝试使用 @using 指令向 _ViewImports.cshtml 添加命名空间,但它给出了相同的错误。
同时,我可以在主项目的任何 .cs 文件中自由使用该方法,但不能在任何 .cshtml 中使用该方法
我在主项目中也有这个 class:
namespace MyProject.app.Utils
{
class SomeOtherUtilClass
{
}
}
我猜这与我命名命名空间的方式有关,但我不知道是什么。
我在这里错过了什么?为什么我不能在 RazorPages 中引用我的 classes?
所以,这是我的答案。如果添加这些 usings
:
using MyProject.app
using Utils.lib
因为 MyProject.app
包含相同的命名空间,编译器无法找到您的 Utils.lib。
你有两种方法可以解决这个问题:
- 重命名命名空间
- 在您的剃刀页面中使用完整的命名空间路径,例如:
@MyProject.app.Utils.SomeUtilClass
或
@Utils.lib.SomeUtilClass
因此,您必须从 _ViewImports
@using MyProject.app