无法加载文件或程序集“Microsoft.WindowsAzure.Diagnostics”或它的一个依赖

问题描述:

我的系统崩溃了两天以前,从那时起,当我尝试调试本地Azure的环境,我得到这个错误“无法加载文件或程序程序集'Microsoft.WindowsAzure.Diagnostics'或它的一个依赖项'。无法加载文件或程序集“Microsoft.WindowsAzure.Diagnostics”或它的一个依赖

我重新安装下面(的Windows Azure工具MS VS 2012 2012年6月SP1,Windows Azure的模拟器 - 2012年6月,Windows Azure的Librarires为.NET - 2012年6月)。

仍然有同样的问题,有什么建议。

=== Pre-bind state information === 
LOG: User = ........... 
LOG: DisplayName = Microsoft.WindowsAzure.Diagnostics 
(Partial) 
WRN: Partial binding information was supplied for an assembly: 
WRN: Assembly Name: Microsoft.WindowsAzure.Diagnostics | 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:///C:/Projects/Client/Connection Intelegence/CICloud/CIWebRole/ 
LOG: Initial PrivatePath = C:\Projects\Client\Connection Intelegence\CICloud\CIWebRole\bin 
Calling assembly : (Unknown). 
=== 
LOG: This bind starts in default load context. 
LOG: Using application configuration file: C:\Projects\Client\Connection   Intelegence\CICloud\CIWebRole\web.config 
LOG: Using host configuration file: C:\Program Files\IIS Express\config\templates\PersonalWebServer\aspnet.config 
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\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/Framework64/v4.0.30319/Temporary ASP.NET Files/root/9cc4e65f/1fb72ae3/Microsoft.WindowsAzure.Diagnostics.DLL. 
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/root/9cc4e65f/1fb72ae3/Microsoft.WindowsAzure.Diagnostics/Microsoft.WindowsAzure.Diagnostics.DLL. 
LOG: Attempting download of new URL file:///C:/Projects/Client/Connection Intelegence/CICloud/CIWebRole/bin/Microsoft.WindowsAzure.Diagnostics.DLL. 
LOG: Using application configuration file: C:\Projects\Client\Connection Intelegence\CICloud\CIWebRole\web.config 
LOG: Using host configuration file: C:\Program Files\IIS Express\config\templates\PersonalWebServer\aspnet.config 
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config. 
LOG: Post-policy reference: Microsoft.WindowsAzure.Diagnostics, Version=1.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 



[FileLoadException: Could not load file or assembly 'Microsoft.WindowsAzure.Diagnostics' or one of its dependencies. The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))] 
[FileLoadException: Could not load file or assembly 'Microsoft.WindowsAzure.Diagnostics, Version=1.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))] 
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.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +210 
System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection) +242 
System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +17 
System.Reflection.Assembly.Load(String assemblyString) +35 
System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +122 
[ConfigurationErrorsException: Could not load file or assembly 'Microsoft.WindowsAzure.Diagnostics, Version=1.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))] 
System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +12761078 
System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +503 
System.Web.Configuration.AssemblyInfo.get_AssemblyInternal() +142 
System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +334 
System.Web.Compilation.BuildManager.CallPreStartInitMethods(String preStartInitListPath) +203 
System.Web.Compilation.BuildManager.ExecutePreAppStart() +152 
System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +1151 

[HttpException (0x80004005): Could not load file or assembly 'Microsoft.WindowsAzure.Diagnostics, Version=1.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))] 
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +12881540 
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +159 
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +12722601 
+0

你是否设法整理出来?我只是有一个崩溃,没有任何工程 - 同样的错误 – Turowicz

看起来应用程序启动时会出现这种情况。看看你的web.config,你有一个跟踪监听器指向Microsoft.WindowsAzure.Diagnostics程序集?这可能是您的应用程序无法正常工作的原因。

首先,看看你的程序集引用和删除Microsoft.WindowsAzure.Diagnostics它应该存在(只是为了确保我们不使用旧版本)。然后,添加对的引用Microsoft.WindowsAzure.Diagnostics,但请确保它是1.7.0.0版。

你会发现该组件的正确版本:C:\ Program Files文件\微软的SDK \的Windows Azure.NET SDK \ 2012-06 \裁判

+0

我有一个ref。为1.7.0.0。顺便说一句:这适用于Azure,只是本地开发是我遇到问题的地方。必须是损坏的或丢失的文件。我已经收获了,但问题仍然存在。 – Floyd

+0

非常感谢!我已经更新了所有引用,但没有意识到跟踪监听器! – dopplesoldner

添加到Sandrinio的回答(对不起,我不”吨有特权)我有哪里1.7.0.0正在引用类似的错误,但在我的web.config本节中指出版本1.0.0.0

<system.diagnostics> 
<trace> 
    <listeners> 
    <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
     name="AzureDiagnostics"> 
     <filter type="" /> 
    </add> 
    </listeners> 
</trace> 

我评论它,问题就解决了。

我知道这是一个老话题,但它仍然是顶级谷歌结果为“无法加载文件或程序集Microsoft.WindowsAzure.Diagnostics”,所以这里是我做过什么:

这是发生在我身上带Azure SDK 2.7.1和Visual Studio 2013.在升级到Windows 10和Azure SDK 2.7之间,某些东西没有正确安装。我尝试重新安装Azure SDK,升级到Visual Studio 2015,但都没有工作。最后我不得不更改以下行中我的app.config:

<system.diagnostics> 
    <trace> 
     <listeners> 
      <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=2.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="AzureDiagnostics"> 
       <filter type="" /> 
      </add> 
     </listeners> 
    </trace> 
</system.diagnostics> 

<system.diagnostics> 
    <trace> 
     <listeners> 
      <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=2.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="AzureDiagnostics"> 
       <filter type="" /> 
      </add> 
     </listeners> 
    </trace> 
</system.diagnostics> 

通知的变化,从 “2.7.0.0” 为 “2.5.0.0”。对我而言,Microsoft.WindowsAzure.Diagnostics 2.7.0.0 DLL并不存在。恢复到2.5.0.0可以正常工作。我仍然想找到根本原因,但我还有更重要的事情要做。希望这可以帮助!

+0

Mine was 2.5.0.0 to 2.8.0.0 – Catwood

这可能是最好的检查Microsoft.WindowsAzure.Diagnostics的属性,看你使用哪个版本。 Mine说2.8.0.0时,我将它插入Dan和Taylor提到的Web.config元素上面。 2.7.0.0对我来说并不适用2.8.0.0,但明天它可能是另外的;-)。

+0

最佳答案 - 没有魔法“试试这个”或“删除它”。 – Dunc