程序集绑定日志查看器(fuslogvw)不记录我机器上安装的任何框架版本的绑定.
我尝试使用自定义日志位置,默认日志位置,默认类别和本机图像类别.
装配绑定日志查看器几个月前就已运行.我在64位计算机上运行C:\ Program Files(x86)\ Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\x64\FUSLOGVW.exe
我正在尝试在Win 2008 R2系统上使用fuslogvw.exe.它显示进程已启动并使用CPU但未显示UI.我已经尝试过32位和64位版本而不是管理模式,但没有运气.我没有在事件日志中看到任何问题.
我已经使用NGEN来创建我的应用程序使用的几个程序集的本机映像.但是,运行应用程序时不会加载这些图像,我不知道为什么.
这是来自fuslogvw的典型日志:
*** Assembly Binder Log Entry (2/05/2012 @ 13:29:04) ***
The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.
Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll
Running under executable C:\MyDir\MyApp.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: User = ***\***
LOG: DisplayName = MyAssembly, Version=1000.0.0.0, Culture=neutral, PublicKeyToken=null (Fully-specified)
LOG: Appbase = file:///C:/MyDir/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = …Run Code Online (Sandbox Code Playgroud) 除了Fuslogvw.exe之外,还有其他Fusion Log Viewer程序,或者将Fusion日志输出指向您自己的目录,然后手动检查大量的HTM文件吗?
我的两个主要抱怨是:
我想要一个概述,显示哪些组件加载成功,哪个组件加载失败.
我不确定日志文件的时间戳的解析,所以我不确定哪个条目在另一个条目之前出现.例如,我的程序显然正在尝试使用culture = da和culture = da-dk加载程序集.它应该只是尝试加载da-dk,事实上加载是成功的.那么为什么它(也没有成功)尝试加载culture = da?如果我至少确定它尝试执行这些加载的顺序可能会有所帮助,但是Fuslogvw.exe会随机显示这两个条目,并且登录到私有目录并不是更好.
试图理解这个程序集绑定失败 - 下面的日志中"后策略引用"的含义是什么?
LOG: This bind starts in default load context.
LOG: Using application configuration file: E:\approot\WorkerRole.dll.config
LOG: Using host configuration file:
LOG: Using machine configuration file from D:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config.
LOG: Post-policy reference: Microsoft.WindowsAzure.Diagnostics, Version=2.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL file:///E:/approot/Microsoft.WindowsAzure.Diagnostics.DLL.
LOG: Assembly download was successful. Attempting setup of file: E:\approot\Microsoft.WindowsAzure.Diagnostics.dll
LOG: Entering run-from-source setup phase.
LOG: Assembly Name is: Microsoft.WindowsAzure.Diagnostics, Version=2.4.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
WRN: Comparing the assembly name resulted in the mismatch: …Run Code Online (Sandbox Code Playgroud) 我在解决方案中添加了一个现有项目.当我使用MSTest运行程序运行所有单元测试时,我在几个测试中得到以下错误:
消息:测试方法soandso引发异常:System.IO.FileLoadException:无法加载文件或程序集'log4net,版本1.2.12.0,Culture = neutral,PublicKeyToken = 669e0ddf0bb1aa2a'或其中一个依赖项.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)
我知道其他人也有同样的问题,关于这个话题还有其他问题和答案.但我尝试了很多东西,但没有任何帮助.我们使用的log4net版本是1.2.13.0.
我检查了FUSLOGVW.exe是否存在绑定错误.log4net显示添加的程序集和一些未知程序集.程序集中log4net的引用显示了随NuGet添加的版本1.2.13.0.所以它可能是一个依赖程序集导致所有这些麻烦.我尝试将log4net更改回版本1.2.12.0,但我仍然收到相同的错误消息.
当我使用MSTest testrunner运行所有测试时,会出现这些错误.当我只运行失败的测试时,它们会通过.当我单独运行它们时,它们也会通过.我尝试了绑定重定向,但我是为测试而不是测试程序集的程序集做的.我不知道如何为测试程序集做到这一点 - 没有配置.当我使用Resharper测试运行器运行测试时,它们也会通过(但其他测试失败).TFS Build服务器运行MSTest-runner,因此我需要使用MSTest.
有谁知道如何解决这个问题?
我们正在使用NSASS将Sass文件编译为css(https://github.com/TBAPI-0KA/NSass)。NSASS建立并在开发环境中运作良好。但是,当我们尝试将其部署到我们的测试服务器时,我们无法启动并运行NSASS。
我们不断
Exception information:
Exception type: FileNotFoundException
Exception message: Could not load file or assembly 'NSass.Wrapper.x64.dll' or one of its dependencies. The specified module could not be found.
at NSass.SassCompiler..ctor()
at NSass.SassHandler..ctor()
Run Code Online (Sandbox Code Playgroud)
问题在于NSASS使用某种动态方式来加载这些dll,这似乎不起作用。该dll位于\ bin \ NSass.Wrapper中,但fuslogvw记录它仅尝试搜索bin目录。如果我正确理解的话,可以通过动态方式加载此dll,以便根据操作系统加载x86或x64。
对于NSASS的bin加载代码:https : //github.com/TBAPI-0KA/NSass/blob/master/NSass.Core/AssemblyResolver.cs
我曾尝试将dll文件(X64和x86)移动到bin文件夹,但是即使fuslogvw表示一切正常,在事件查看器中也会出现相同的错误。
任何人都对我下一步可以解决的建议有什么建议?
编辑:尝试记录AppDomain.CurrentDomain.SetupInformation.PrivateBinPath,它指向bin文件夹,而AppDomain.CurrentDomain.BaseDirectory也指向正确的文件夹。不确定是否有任何更改从我登录的Application_Start更改CurrentDomain,直到NSASS文件的程序集加载。
还值得注意。这是一个EPiServer网站,因此不确定EPiServer是否进行了任何更改。但是,如果是这样的话,那么在开发环境中也不会出现问题吗?