问与答 注册表-如何启用程序集绑定日志记录?

kemp · 2020-03-08 14:45:24 · 热度: 344

我得到了“无法加载文件或程序集'Bla'或其依赖项之一。试图加载格式错误的程序。”

详细信息的一部分说:

“ WRN:程序集绑定日志记录已关闭。若要启用程序集绑定失败日志记录,请将注册表值[HKLM \ Software \ Microsoft \ Fusion!EnableLog](DWORD)设置为1。注意:与程序集绑定失败日志记录有一些性能上的损失。要关闭此功能,请删除注册表值[HKLM \ Software \ Microsoft \ Fusion!EnableLog]。”

因此,我认为这可能使我对为什么会遇到上述错误(可能是下一个YSOD包含有关失败原因的更明确的信息)有所了解,我导航到注册表中的该位置,但是没有这样的键 我可以看到 它的功能是:

\Fusion 
    (Default)   value not set
    \GACChangeNotification
    \NativeImagesIndex
    \PublisherPolicy

我想念什么?

猜你喜欢:
共收到 9 条回复
joseph #1 · 2020-03-08 14:45:24

开始调查任何失败的绑定的一个好地方是使用“ fuslogvw.exe”实用程序。 这可能会为您提供与绑定失败有关的所需信息,这样您就不必再搞乱任何注册表值来打开绑定登录了。

Fuslogvw MSDN页面

该实用程序应位于您的Microsoft SDKs文件夹中,具体取决于您的操作系统,该文件夹应为以下形式:“ C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v {SDK版本} A \ Bin \ FUSLOGVW.exe”

1)运行此实用程序(它具有GUI),并将设置设置为“将绑定失败记录到磁盘”。

2)单击“全部删除”以清除以前所有绑定失败的列表

3)在您的应用程序中重现绑定失败

4)在实用程序中,单击刷新。 然后,您应该看到绑定失败记录在列表中。

5)您可以通过在列表中选择绑定失败并单击“查看日志”来查看有关绑定失败的信息。

我要寻找的第一件事是应用程序寻找程序集的路径。 您还应该确保所讨论的程序集的版本号是您所期望的。

jerald #2 · 2020-03-08 14:45:25

只需在Fusion键下创建一个新的DWORD(32)。 将DWORD命名为EnableLog,并将其设置为值1。然后重新启动IIS,刷新出现错误的页面,程序集绑定日志将显示在错误消息中。

oswald #3 · 2020-03-08 14:45:28
  1. 创建一个新的应用程序池

  2. 转到此应用程序池的“高级设置”

  3. 将启用32位应用程序设置为True

  4. 指向您的Web应用程序以使用此新池

Screenshot (IIS-ApplicationPool)

chapman #4 · 2020-03-08 14:45:29

根据上面的pierce.jason的回答,我很幸运:

只需在Fusion键下创建一个新的DWORD(32)。 将DWORD命名为LogFailures,并将其设置为值1。然后重新启动IIS,刷新出现错误的页面,程序集绑定日志将显示在错误消息中。

berger #5 · 2020-03-08 14:45:31

对我来说,“ Bla”文件是System.Net.http dll,该文件从我的BIN文件夹中丢失。 我刚刚添加了它,效果很好。 没有更改任何注册表项或任何此类内容。

tazhon #6 · 2020-03-08 14:45:33

如果您有时运行不同版本的应用程序,请确保从运行的版本不需要的应用程序bin目录中删除“ Bla”。

shannon #7 · 2020-03-08 14:45:34

当我遇到相同的问题时,我通过删除该项目中现有的2755682266239206206400并添加新密钥来解决此问题。

leif #8 · 2020-03-08 14:45:35

除了创建新的应用程序池外,您还可以转到  现有应用程序池->右键单击高级设置->启用32位应用程序-----设置为TRUE

vasyl #9 · 2020-03-08 14:45:37

从客户端调用服务器dll时,在Windows应用程序中出现此错误。 系统重启后,它可以正常工作

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册