0

IIS 7.5 で ASP.net サイトを開始しようとすると、次のエラーが表示されます。

BC2000: compiler initialization failed unexpectedly: 0x80070005

C:\Windows\Temp フォルダーのセキュリティ設定に移動し、ユーザー「NETWORK SERVICE」および IIS_IUSRS にフル コントロール権限を追加します。

しかし、私はそれをしましたが、エラーは続きます。

私のマシンでは、 %temp% は C:\Users\sp\AppData\Local\Temp を指しており、これらの権限も持っています。

また、ユーティリティ「aspnet_regiis」を使用して ASP を再インストールしてみました。

完全なイベント ログ エントリ (アプリケーション警告 1310) は次のとおりです。

Event code: 3007 
Event message: A compilation error has occurred. 
Event ID: 733bee25fcbe4f0ab74b7fc56ce833d7 
Event sequence: 3 
Event occurrence: 1 
Event detail code: 0 

Application information: 
    Application domain: /LM/W3SVC/5/ROOT-1-129798160562503533 
    Trust level: Full 
    Application Virtual Path: / 

Process information: 
    Process ID: 8040 
    Process name: w3wp.exe 
    Account name: IIS APPPOOL\myapp 

Exception information: 
    Exception type: HttpCompileException 
    Exception message: vbc : Fatal (0): error BC2000: compiler initialization failed unexpectedly: 0x80070005 

Request information: 
    User host address: ::1 
    User:  
    Is authenticated: False 
    Authentication Type:  
    Thread account name: sp-PC\sp 

Thread information: 
    Thread ID: 8 
    Thread account name: sp-PC\sp 
    Is impersonating: False 
    Stack trace:    at System.Web.Compilation.AssemblyBuilder.Compile()
   at System.Web.Compilation.BuildProvidersCompiler.PerformBuild()
   at System.Web.Compilation.CodeDirectoryCompiler.GetCodeDirectoryAssembly(VirtualPath virtualDir, CodeDirectoryType dirType, String assemblyName, StringSet excludedSubdirectories, Boolean isDirectoryAllowed)
   at System.Web.Compilation.BuildManager.CompileCodeDirectory(VirtualPath virtualDir, CodeDirectoryType dirType, String assemblyName, StringSet excludedSubdirectories)
   at System.Web.Compilation.BuildManager.CompileCodeDirectories()
   at System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled()
   at System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters)

そこで、アプリケーション プールのユーザーをマシン管理者に変更しました (IIS マネージャー > アプリケーション プール > 詳細設定 > ID)。しかし、それはあまり安全ではないようです。

私の質問は、「ビルトイン アカウント」で動作しない理由です (ApplicationPoolIdentity と NetworkService を試しました)。

4

2 に答える 2

1

以下の手順を試してください-

  1. x64 マシンで実行している場合は、既定のアプリケーション プールに対して [32 ビット アプリケーションを有効にする] を True に設定します。

  2. NETWORK SERVICEおよびIIS_IUSRSのフル アクセスを許可する

C:\Windows\Temp\

  1. NETWORK SERVICEおよびIIS_IUSRSのフル アクセスを許可する

C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\

于 2016-11-21T07:06:46.950 に答える
0

C:\Windows\Temp フォルダへのフル アクセスをユーザー「ネットワーク サービス」に付与します。

于 2012-06-05T04:52:04.853 に答える