ASP MVC 5应用程序停止使用"System.Security.SecurityException'
本文关键字:quot System Security SecurityException MVC 应用程序 ASP | 更新日期: 2023-09-27 18:10:39
部分解决了我点击保存的那一刻:失败解决方案的"异常"设置被设置为"公共语言运行时异常"。将它们重置为默认值允许项目启动。
这似乎是一个解决方案级别的问题。
我有六个项目的解决方案,其中包括一个创建为MVC项目的web项目。
我没有做任何改动。它已经在解决方案中几个月了。
今天它不再运行。最初,它抛出了一个异常,表示它无法访问临时ASP。. NET文件在可笑的默认位置C:'Windows…所以我通过添加tempDirectory="…"
下一个出现的异常是:
System.Security.SecurityException occurred
Message: Exception thrown: 'System.Security.SecurityException' in mscorlib.dll
Additional information: Requested registry access is not allowed.
此时的堆栈跟踪是:
mscorlib.dll!System.ThrowHelper.ThrowSecurityException(System.ExceptionResource resource) Unknown
mscorlib.dll!Microsoft.Win32.RegistryKey.OpenSubKey(string name, bool writable) Unknown
mscorlib.dll!Microsoft.Win32.RegistryKey.OpenSubKey(string name) Unknown
System.Web.dll!System.Web.Util.Misc.OpenAspNetRegKey(string subKey) Unknown
System.Web.dll!System.Web.Util.Misc.GetAspNetRegValue(string subKey, string valueName, object defaultValue) Unknown
System.Web.dll!System.Web.Compilation.CompilationMutex.CompilationMutex(string name, string comment) Unknown
System.Web.dll!System.Web.Compilation.CompilationLock.CompilationLock() Unknown
[Native to Managed Transition]
[Managed to Native Transition]
System.Web.dll!System.Web.Compilation.CompilationLock.GetLock(ref bool gotLock) Unknown
System.Web.dll!System.Web.Compilation.BuildManager.CheckTopLevelFilesUpToDate(long cachedHash) Unknown
System.Web.dll!System.Web.Compilation.BuildManager.ExecutePreAppStart() Unknown
System.Web.dll!System.Web.Hosting.HostingEnvironment.Initialize(System.Web.Hosting.ApplicationManager appManager, System.Web.Hosting.IApplicationHost appHost, System.Web.Configuration.IConfigMapPathFactory configMapPathFactory, System.Web.Hosting.HostingEnvironmentParameters hostingParameters, System.Security.Policy.PolicyLevel policyLevel, System.Exception appDomainCreationException) Unknown
System.Web.dll!System.Web.Hosting.HostingEnvironment.Initialize(System.Web.Hosting.ApplicationManager appManager, System.Web.Hosting.IApplicationHost appHost, System.Web.Configuration.IConfigMapPathFactory configMapPathFactory, System.Web.Hosting.HostingEnvironmentParameters hostingParameters, System.Security.Policy.PolicyLevel policyLevel) Unknown
[AppDomain (DefaultDomain, #1) -> AppDomain (/LM/W3SVC/2/ROOT-1-130855931402033459, #2)]
System.Web.dll!System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironment(string appId, System.Web.Hosting.IApplicationHost appHost, System.Web.Hosting.HostingEnvironmentParameters hostingParameters) Unknown
System.Web.dll!System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironmentAndReportErrors(string appId, System.Web.Hosting.IApplicationHost appHost, System.Web.Hosting.HostingEnvironmentParameters hostingParameters) Unknown
System.Web.dll!System.Web.Hosting.ApplicationManager.GetAppDomainWithHostingEnvironment(string appId, System.Web.Hosting.IApplicationHost appHost, System.Web.Hosting.HostingEnvironmentParameters hostingParameters) Unknown
System.Web.dll!System.Web.Hosting.ApplicationManager.CreateObjectInternal(string appId, System.Type type, System.Web.Hosting.IApplicationHost appHost, bool failIfExists, System.Web.Hosting.HostingEnvironmentParameters hostingParameters) Unknown
System.Web.dll!System.Web.Hosting.ProcessHost.StartApplication(string appId, string appPath, out object runtimeInterface) Unknown
如果我用一个web MVC web项目创建一个新的解决方案并运行它,它会正确启动,显示标准模板。
如果我在现有解决方案中添加一个新项目并运行它,它不会运行!它抛出相同的访问异常。
如果我将现有的失败项目添加到新的工作解决方案中,它就可以工作了!!
我试过删除所有的临时asp.net文件,所有的临时文件,停止的东西,重新启动。没有什么工作。
这就好像由于某种原因,解决方案开始时的权限较少。我没有以管理员身份运行这两个实例,并使用相同的快捷图标来启动VS.
这是Visual Studio 2015。框架设置为4.51
有线索吗?
如果我将现有的失败项目添加到新的工作解决方案中,它就可以工作了!!
然后创建一个新的解决方案。sln文件。您的项目可以保持完整,只需删除/替换旧的sln文件与一个新的。
如果我以管理员身份运行Visual Studio 2015(右键单击Visual Studio图标->以管理员身份运行),我就可以摆脱这个问题。
使用注册表编辑器查找此键
Computer'HKEY_LOCAL_MACHINE'SOFTWARE'Microsoft'ASP.NET
右键单击"Permissions…","Advanced"
并添加IUSR
和"Allow Read",并将其应用于"This keys and subkeys"