我目前正在做一个学校项目,我可以让学生和老师搜索工作间的工作。
我正在尝试使用ASP.Net配置来添加用户和角色,但是我收到了这个错误。
-
&p; /asp.netwebadminfiles'中的服务器错误;应用
编译错误说明:期间发生错误 编译服务此请求所需的资源。请 查看以下特定错误详细信息并修改您的来源 代码恰当。
编译器错误消息:CS0122:' System.Configuration.StringUtil'是 由于其保护级别无法访问
来源错误:
Line 987:
Line 988: // Put together some unique app id
Line 989: string appId = StringUtil.GetNonRandomizedHashCode(String.Concat(appPath, appPhysPath)).ToString("x", CultureInfo.InvariantCulture);
Line 990:
Line 991:
源文件: C:\ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319 \ ASP.NETWebAdminFiles \ App_Code文件\ WebAdminPage.cs 行:989
-
无论如何我可以解决这个问题,还是我必须重做我的整个项目?(希望不是因为完成了很多工作。)
我是故障排除的新手,所以一步一步指南将不胜感激。谢谢!
答案 0 :(得分:1)
在Visual Studio中
档案 - 开放 - 网站
GoTo:C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ ASP.NETWebAdminFiles
打开
现在打开App_Code \ WebAdminPage.cs
GoTo 989号线
注释掉当前文字并粘贴
string appId = (String.Concat(appPath, appPhysPath).GetHashCode()).ToString("x", CultureInfo.InvariantCulture);
现在重新尝试
答案 1 :(得分:0)
如果安装了.NET Framework 4.6 ,则会出现此问题。这已在4.6。 1 中修复,因此只需downloading它(或更高版本)即可解决问题。无需更改代码。
答案 2 :(得分:0)
检查你的目标框架,如果它是4.0然后改为3.5并构建项目并打开asp.net配置它对我有用
答案 3 :(得分:-1)
StringUtil
是项目中的(静态)类。这个类很可能被定义为:
private static void StringUtil
这意味着您的WebAdminPage
无法看到它,因为它是private
。这将导致您看到的错误。将其更改为:
public static void StringUtil
现在任何课程都可以随时使用。
详细了解Microsoft's documentation中的保护级别:
再次查看错误代码后,我发现StringUtil
的命名空间是System.Configuration.StringUtil
,这意味着这是一个系统类,而不是项目中的类。
根据{{3}},此类定义为static internal class StringUtil
。按照上一个关于保护级别的链接,我们可以看到:
内部:访问仅限于当前程序集
这意味着StringUtil
类只能在它所限制的程序集(DLL文件)中使用。看到你无法将自己的代码添加到Microsoft的系统DLL中,您无法使用此方法(因为Microsoft已将其添加为自己的内部使用)。
答案 4 :(得分:-2)
变化
string appId = StringUtil.GetNonRandomizedHashCode(String.Concat(appPath, appPhysPath)).ToString("x", CultureInfo.InvariantCulture);
到
string appId = ToString();
修复它