you*_*ero 8 c# asp.net configuration
我目前正在做一个学校项目,我可以让学生和老师搜索相关的工作.
我试图进入ASP.Net配置添加用户和角色,但我收到此错误.
-
'/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:
Run Code Online (Sandbox Code Playgroud)
源文件:c:\ Windows\Microsoft.NET\Framework64\v4.0.30319\ASP.NETWebAdminFiles\App_Code\WebAdminPage.cs行:989
-
无论如何我可以解决这个问题,还是我必须重做我的整个项目?(希望不是因为完成了很多工作.)
我是故障排除的新手,所以一步一步的指南将非常感谢.谢谢!
使用任何Visual Studio打开ASP.NETWebAdminFiles网站
Add - Existing Website
Browse to C:\Windows\Microsoft.NET\Framework\v4.0.30319\ASP.NETWebAdminFiles
Run Code Online (Sandbox Code Playgroud)
在wesbite项目中,浏览到C#文件
ASP.NETWebAdminFiles\App_Code文件\ WebAdminPage.cs
转到989行
评论该行 // string appId = StringUtil.GetNonRandomizedHashCode...
添加新行 string appId = "1"
保存网站,从Visual Studio中卸载它
在CMD中运行IIS Express
iisexpress.exe /path:C:\Windows\Microsoft.NET\Framework\v4.0.30319\ASP.NETWebAdminFiles /vpath:/WebAdmin /port:8181 /clr:4.0 /ntlm
Run Code Online (Sandbox Code Playgroud)
运行您的网站
http://localhost:8181/webadmin/default.aspx?applicationPhysicalPath=B:\TFS\MyWebsite\MyWebsiteRoot\&applicationUrl=/
Run Code Online (Sandbox Code Playgroud)
GTH*_*ten -1
StringUtil是您项目中的一个(静态)类。这个类很可能定义为:
private static void StringUtil
Run Code Online (Sandbox Code Playgroud)
这意味着您WebAdminPage看不到它,因为它是private. 这将导致您看到的错误。将其更改为:
public static void StringUtil
Run Code Online (Sandbox Code Playgroud)
现在任何班级都可以随时使用它。
请阅读Microsoft 文档中有关保护级别的更多信息:
再次查看错误代码后,我发现名称空间为StringUtilis System.Configuration.StringUtil,这意味着这是一个系统类,而不是项目中的类。根据微软的源代码,这个类被定义为static internal class StringUtil. 根据之前有关保护级别的链接,我们可以看到:
内部:访问仅限于当前程序集
这意味着该类StringUtil只能从它所在的程序集(DLL 文件)中使用。由于您无法将自己的代码添加到 Microsoft 的系统 DLL 中,因此您不能使用此方法(因为 Microsoft 已将其添加到他们自己内部使用)。
| 归档时间: |
|
| 查看次数: |
12879 次 |
| 最近记录: |