2015-09-01 29 views
1

部分解決了當我點擊保存時: 失敗解決方案的異常設置被設置爲打破所有公共語言運行時異常」重置那些默認允許的項目啓動。ASP MVC 5應用程序停止使用mscorlib.dll中的「System.Security.SecurityException」

這似乎是一個解決方案層面的問題。

我有包括作爲一個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

在所有的任何線索?

+0

您是否嘗試過創建一個新的solution.sln文件並重新添加所有項目?如果你只需要替換.sln文件,這是一個簡單的修復。還要確保你刪除了隱藏的.suo文件。 – danludwig

回答

1

如果我將現有的失敗項目添加到新的工作解決方案,它的工作原理!

然後,只需創建一個新的Solution.sln文件。您的項目可以保持不變,只需刪除/替換舊的sln文件。

+0

我真的不想重新創建解決方案文件。該解決方案包含相當多的項目和一系列包含各種其他資源的解決方案文件夾。這可能只需要15分鐘左右的時間,但由於我不知道是什麼導致了原始文件被破壞,我不想重複創建新的解決方案文件。 – Ian

+0

如果項目受源代碼控制,您可以創建新的解決方案文件,然後將舊項目與新項目進行比較,以找出造成問題的原因。我懷疑可能是解決方案級別的構建配置? – danludwig

+0

是的,原來它是異常設置,它打破了所有框架類型的所有異常。我認爲設置生活在suo文件中,因爲它是用戶特定的。 – Ian

0

如果我以管理員身份運行Visual Studio 2015(右鍵單擊Visual Studio圖標 - >以管理員身份運行),我將擺脫此問題。