我正在使用Orchard构建我的网站,并希望为主题中的生产环境添加不同的元素并测试环境。我尝试在Orchard Themes类中使用c#单例类来获取它是否为生产环境。然后使用Themes中cshtml文件中的单例类。代码可以编译。但在运行时,它会抛出异常:在当前上下文中不存在名称'主题'。我必须在我添加的类之前添加“主题”命名空间。否则,它不会通过编译。如何在果园主题中使用c#单例类
详情: 我在Themes.csproj文件中添加了一个singleton类:EnvironmentDev.cs文件。它包含静态GetInstance方法和IsProd属性。 在Themes.csproj文件,它示出了:
<ItemGroup>
<Compile Include="EnvironmentDev.cs" />
</ItemGroup>
在主题的Document.cshtml文件,我添加以下代码:
@{
if (Themes.EnvironmentDev.GetInstance().IsProd) {
// Add production element
}
else {
// Add test site element
}
}
详细的错误消息: 描述:编译过程中发生错误为请求提供服务所需的资源。请查看以下具体的错误细节并适当修改您的源代码。
编译器错误消息:CS0103:名称“主题”不存在于当前上下文存在
源错误:
Line 46: @Display(Model.Head)
Line 47: @{
Line 48: if (Themes.EnvironmentDev.GetInstance().IsProd) {
Line 49: <script src="https://XXXX.js"></script> //using XXXX instead of real link
Line 50: }
任何建议,将不胜感激。
谢谢,这很有帮助! – JinghuiZhang