2

Visual Studio 2012 で作成した WCF サービスを実行しようとしています。

ページで以下のエラーが発生しています。

> Exception Details: System.BadImageFormatException: Could not load file
> or assembly 'dllname' or one of its dependencies. An attempt was made
> to load a program with an incorrect format.
> 
> -------------------------------------------------------------------------------- Assembly Load Trace: The following information can be helpful to
> determine why the assembly 'dllname' could not be loaded.
> 
> === Pre-bind state information === LOG: User = IIS APPPOOL\DefaultAppPool LOG: DisplayName = dllname  (Partial) WRN:
> Partial binding information was supplied for an assembly: WRN:
> Assembly Name: dllname | Domain ID: 2 WRN: A partial bind occurs when
> only part of the assembly display name is provided. WRN: This might
> result in the binder loading an incorrect assembly. WRN: It is
> recommended to provide a fully specified textual identity for the
> assembly, WRN: that consists of the simple name, version, culture, and
> public key token. WRN: See whitepaper
> http://go.microsoft.com/fwlink/?LinkId=109270 for more information and
> common solutions to this issue. LOG: Appbase =
> file:///D:/wwwroot/website/WebServices/ LOG: Initial PrivatePath =
> D:\wwwroot\website\WebServices\bin Calling assembly : (Unknown).
> === LOG: This bind starts in default load context. LOG: Using application configuration file:
> D:\wwwroot\website\WebServices\web.config LOG: Using host
> configuration file:
> C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet.config LOG: Using
> machine configuration file from
> C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
> LOG: Policy not being applied to reference at this time (private,
> custom, partial, or location-based assembly bind). LOG: Attempting
> download of new URL
> file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary
> ASP.NET Files/webservices/febcb7de/76686d13/dllname.DLL. LOG:
> Attempting download of new URL
> file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary
> ASP.NET Files/webservices/febcb7de/76686d13/dllname/dllname.DLL. LOG:
> Attempting download of new URL
> file:///D:/wwwroot/website/WebServices/bin/dllname.DLL. ERR: Failed to
> complete setup of assembly (hr = 0x8007000b). Probing terminated.
> 
> -------------------------------------------------------------------------------- Stack Trace: 
> 
> [BadImageFormatException: Could not load file or assembly 'dllname' or
> one of its dependencies. An attempt was made to load a program with an
> incorrect format.]   
> System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String
> codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint,
> StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean
> throwOnFileNotFound, Boolean forIntrospection, Boolean
> suppressSecurityChecks) +0   
> System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String
> codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint,
> StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean
> throwOnFileNotFound, Boolean forIntrospection, Boolean
> suppressSecurityChecks) +34   
> System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName
> assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly,
> StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean
> throwOnFileNotFound, Boolean forIntrospection, Boolean
> suppressSecurityChecks) +152   
> System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString,
> Evidence assemblySecurity, StackCrawlMark& stackMark, IntPtr
> pPrivHostBinder, Boolean forIntrospection) +77   
> System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString,
> Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean
> forIntrospection) +16    System.Reflection.Assembly.Load(String
> assemblyString) +28   
> System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String
> assemblyName, Boolean starDirective) +38
> 
> [ConfigurationErrorsException: Could not load file or assembly
> 'dllname' or one of its dependencies. An attempt was made to load a
> program with an incorrect format.]   
> System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String
> assemblyName, Boolean starDirective) +752   
> System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory()
> +218    System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo
> ai) +130   
> System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection
> compConfig) +170   
> System.Web.Compilation.BuildManager.GetPreStartInitMethodsFromReferencedAssemblies()
> +91    System.Web.Compilation.BuildManager.CallPreStartInitMethods(String
> preStartInitListPath) +258   
> System.Web.Compilation.BuildManager.ExecutePreAppStart() +135   
> System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager
> appManager, IApplicationHost appHost, IConfigMapPathFactory
> configMapPathFactory, HostingEnvironmentParameters hostingParameters,
> PolicyLevel policyLevel, Exception appDomainCreationException) +516
> 
> [HttpException (0x80004005): Could not load file or assembly 'dllname'
> or one of its dependencies. An attempt was made to load a program with
> an incorrect format.]   
> System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9873784 
> System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context)
> +101    System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest
> wr, HttpContext context) +254
>  
> 
> 
> --------------------------------------------------------------------------------

私はそれについてグーグルで調べましたが、すでにいくつかのことを試しました。1) アプリケーション プールで 32 ビット アプリケーションを有効にする 2) プロジェクト プロパティでターゲットを「任意の CPU」として作成する 3) 一時ファイルを削除し、アプリケーション プールをリサイクルし、IIS をリセットするなど

さらに提案があれば助けてください。

4

1 に答える 1

5

64 ビット アセンブリを 32 ビット アプリケーション プールにロードしようとしているようです。C:\Windows\Microsoft.NET\Framework\v4.0.30319\スタック トレースに表示されるので、これを言います。64 ビット アプリケーション プールの場合は、Framework64. 「32ビットを有効にする」を無効にして、もう一度やり直してください。

于 2013-05-31T17:54:21.020 に答える