2009-11-07 54 views
0

余米创造一种I M试图加载它安装在GAC第三方组件一个C#.NET项目。在FUSLOGVW.exe找不到应用程序配置文件记录

但在某些机器上我米得到一个错误,指出“无法加载指定的版本7.0.351.0的组装”。

当我试图做一个程序集重定向它没有工作,还是它显示了同样的错误。

注: 7.0.351.0 -The是与它编译版本。

12.0.0.0 - 大会出现在目标机器参考的

属性 特定版本 - >假

别名 - >全球

复制本地 - >假

这是我的示例应用程序配置文件

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <runtime> 
     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" > 
      <dependentAssembly> 
       <assemblyIdentity 
        name="Act.Framework" 
        publicKeyToken="ebf6b2ff4d0a08aa" /> 
       <bindingRedirect oldVersion="7.0.351.0" newVersion="12.0.0.0" /> 
      </dependentAssembly> 
     </assemblyBinding> 
    </runtime> 
</configuration> 
FUSLOGVW的个

日志显示

“LOG:未找到应用程序配置文件。”

但我已经添加了应用程序配置文件。它没有检测到我的配置文件?

如何使其检测?

步骤我没有添加App.config文件:

  1. 通过项目向导添加新项,选择“应用程序配置文件”。

回答

1

尝试指定在bindingRedirect组件的文化:

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
      <assemblyIdentity name="Act.Framework" 
           publicKeyToken="ebf6b2ff4d0a08aa" 
           culture="neutral" /> 
      <bindingRedirect oldVersion="7.0.351.0" 
          newVersion="12.0.0.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 
</runtime> 

您还需要验证组件的新版本完全相同的私钥旧的签署。

就配置文件而言,请验证它的名称是ABC.exe.config,其中ABC是可执行文件的名称并且它位于同一个文件夹中(如果这是Windows应用程序,当然对于您需要的Web应用程序使用web.config)。

4

检查包含web.config的路径。如果您的web.config文件位于具有名称中带有“#”名称的一个或多个文件夹的目录路径中,Microsoft Fusion将完全忽略所有assemblyBinding条目的web.config

+0

这让我大跌眼镜。布拉德,你有什么引用? – Will