2

我在任何其他 PC 上运行时遇到此错误,我真的不知道绑定版本等,但我在这里迷路了。甚至不知道该放什么。

无法加载文件或程序集 'JSNet,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null' 或其依赖项之一。该系统找不到指定的文件。

这是我当前的 app.config 文件:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="JSNet" publicKeyToken="89845dcd8080cc91" />
        <bindingRedirect oldVersion="1.0.0.0" newVersion="9.0.0.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>
    <configSections>
        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="pwn4g3.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
        </sectionGroup>
    </configSections>
    <userSettings>
        <pwn4g3.Properties.Settings>
            <setting name="CustomerFeedbackOptIn" serializeAs="String">
                <value>True</value>
            </setting>
            <setting name="FirstRun" serializeAs="String">
                <value>True</value>
            </setting>
        </pwn4g3.Properties.Settings>
    </userSettings>
</configuration>

任何帮助都会很棒,真的很想在今晚发布我的应用程序的新版本,在那个 dll 上工作了一天,发现它在将新应用程序的 beta 副本发送给某人然后亲自测试后无法运行带调试的虚拟机。

4

1 回答 1

0

您得到的错误是要求一个未签名 ( PublicKeyToken=null) 的 JSNet dll,因此这部分实际上是令人困惑的。但是,可能是您的 app.config 正在寻找 DLL 的 9.0.0.0 版本,publicKeyToken="89845dcd8080cc91"之后它很可能会恢复为寻找未签名的版本(因此您的错误)。您应该检查您的 GAC 是否有 JSNet dll。这很可能在 PC 上有效,但在其他 PC 上无效。如果不是 GAC,它需要在您的执行目录中(但我希望这会从 PC 转移到 PC)。希望这能给你一个开始?

您也可以尝试使用 FusionLogViewer(以管理员身份运行),并打开日志记录以查看加载程序集时正在搜索的路径。

这是有关如何使用 FusionLogViewer 的 MSDN

于 2012-04-10T01:09:35.407 回答