我正在尝试调试
形式的错误Could not load file or assembly '[assembly], Version=[version], Culture=[culture], PublicKeyToken=[publicKeyToken]' or one of its dependencies.
错误页面告诉我,程序集绑定日志记录(可以帮助我调试我的问题)已关闭:
WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
我导航到注册表中的HKLM\Software\Microsoft\Fusion
,创建了一个名为EnableLog的DWORD值,并将其设置为1.我刷新了网页,但我仍然收到了关闭程序集绑定日志记录的相同警告。我重新启动了服务器,但仍然没有打开程序集绑定日志记录。
然后我尝试从this question设置一些其他注册表设置。仍然没有程序集绑定日志记录。
顺便说一下,这一切都在Azure Web角色虚拟机上。未安装Fuslogvw。为了得到它,我必须在我的所有网络角色上install the Windows SDK。而且我还是不想使用fuslogvw;我只想要装配绑定日志。
启用程序集绑定日志记录还需要做什么?
编辑:我在两个网络角色上安装了Windows SDK,但看起来fuslogvw仍然不存在。至少,我从管理命令提示符处尝试运行fuslogvw时出现“命令未找到”错误,并且fuslogvw.exe不在this question指示的位置(我意识到这是指安装了fuslogvw.exe)通过Visual Studio,以及比我安装的Windows SDK旧版本的一部分。
编辑:我安装了older Windows SDK,然后找到了fuslogvw.exe(我敢打赌它实际上是我安装的第一个SDK,我只是个傻瓜而且不能找不到它。我在D:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools
找到了它。
现在我可以调试我得到的错误。
但是,最初的问题仍然存在:尝试通过注册表设置启用程序集绑定日志记录时,我可能会遗漏哪些内容?
(我希望能够使用注册表设置而不是Windows SDK中的fuslogvw的原因是我可以配置我的Web角色来自动设置注册表设置,但要使用Windows SDK,我必须手动登录到我的Web角色并运行图形安装程序。安装SDK并不是那么多工作,但这是事情的原则。注册表设置应该工作,自动化比手动任务更好。)