绑定程序集

需要配置配置文件

1,codeBase:只可用于共享程序集

①:从网络加载

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
  
  
<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">  
      <dependentAssembly>  
        <assemblyIdentity name="Timber.Assembly" version="1.0.0.0" publicKeyToken="ad83e08169849671"/>
      <codeBase version="1.0.0.0" href="http://192.188.1.106:8089/dll/Timber.Assembly.dll" />
      </dependentAssembly>  
  </assemblyBinding> 
</runtime>
</configuration>

②:指定文件的路径

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
  
  
<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">  
      <dependentAssembly>  
        <assemblyIdentity name="Timber.Assembly" version="1.0.0.0" publicKeyToken="ad83e08169849671"/>
      <codeBase version="1.0.0.0" href="file://C:\Users\Administrator\Desktop\Timber.Assembly\Timber.Assembly\bin\Debug\Timber.Assembly.dll" />
      </dependentAssembly>  
  </assemblyBinding> 
</runtime>
</configuration>

publicKeyToken:该程序集的公钥

可以通过sn -T Timber.Assembly.dll 查看公钥

=====================测试:

Assembly a = Assembly.Load("Timber.Assembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ad83e08169849671");
            Console.WriteLine(a.FullName);
            Console.ReadKey();

2,probing:可用于共享和私有程序集

 <?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
  <runtime>
   <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <probing privatePath="zhangdi;bin"></probing>
    </assemblyBinding>
  </runtime>
</configuration>

privatePath:指定检索程序集的路径

=====================测试:

 Assembly a = Assembly.Load("ClassLibrary1, Version=1.0.0.0");
 Console.WriteLine(a.FullName);
 Console.ReadKey();
时间: 2024-08-24 00:26:17

绑定程序集的相关文章

程序集绑定查看利器——Fusion日志

Fusion是个很有用的工具,可以用来调试公共语言运行时加载程序集失败的问题.比起尝试使用Visual Studio调试器调试应用程序,更好的办法是打开Fusion日志开关然后查看记录到的日志结果.要启用Fusion日志,你需要编辑Windows注册表.下面是具体的注册表位置信息(如果注册表中没有这些值,需要手动添加). HKLM\Software\Microsoft\Fusion\ForceLog 1 HKLM\Software\Microsoft\Fusion\LogPath C:\Fusi

ASP.NET Global.asax详解

http://blog.csdn.net/xiarenwang/article/details/7633160 文档来源:http://club.topsage.com/thread-485397-1-1.html global.asax是一个文本文件,它提供全局可用代码.这些代码包括应用程序的事件处理程序以及会话事件.方法和静态变量.有时该文件也被称为应用程序文件. global.asax 文件中的任何代码都是它所在的应用程序的一部分.每个应用程序在其根目录下只能有一个global.asax文

ASP.NET Global.asax详解【转】

global.asax是一个文本文件,它提供全局可用代码.这些代码包括应用程序的事件处理程序以及会话事件.方法和静态变量.有时该文件也被称为应用程序文件. global.asax 文件中的任何代码都是它所在的应用程序的一部分.每个应用程序在其根目录下只能有一个global.asax文件.然而,这个文件是可选的.如果没有global.asax文件,应用程序将对所有事件应用由 HttpApplication类提供的默认行为. 提示:经典ASP有一个与global.asax类似格式和构造的,名为glo

C#将dll打包到程序中

原文:C#将dll打包到程序中 最近比较懒,加上内容也不多就懒得排版了,字放大了,看起来应该方便一点 直接进入主题 先来看一个栗子,假设现在有一个第三方dll namespace TestLibrary1 { public class Test { public void Point() { Console.WriteLine("aaabbbccc"); } } } TestLibrary1.dll 在项目中引用,然后调用其中的方法Test,将输出aaabbbccc using Sys

警告: 程序集绑定日志记录被关闭(IIS7 64位系统)

部署一个.NET程序在IIS7服务器,出现如下信息: 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.BadImageFormatException: 未能加载文件或程序集"XXX"或它的某一个依赖项.试图加载格式不正确的程序. 源错误: 执行当前 Web 请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息. 程序集加载跟踪: 下列信息有

.net程序集标示与绑定上下文

之前在实现Autofac扫描自加载程序集实现IOC时候遇到程序集依赖的问题,在网上搜了一下,没有发现中文世界的相关描述.随取google拿了几篇文章,翻译&自己的理解,之后会写一些小demo,如下: 相关原文: http://stackoverflow.com/questions/1477843/difference-between-loadfile-and-loadfrom-with-net-assemblies http://blogs.msdn.com/b/suzcook/archive/

未能加载文件或程序集“System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。响应消息的内容类型 text/html; charset=utf-8 与绑定(text/xml; charset=utf-8)的内容类型不匹配。

项目从一台服务器挪到另外一台服务器后,无法运行:(1)调用webservice的项目报错:[ProtocolException: 响应消息的内容类型 text/html; charset=utf-8 与绑定(text/xml; charset=utf-8)的内容类型不匹配.如果使用自定义编码器,请确保正确实现 IsContentTypeSupported 方法.响应的前 1024 个字节为:"<!DOCTYPE html>(2)webservice本身运行的报错:未能加载文件或程序集

未能加载文件或程序集“DotNetOpenAuth.Core, Ve

“/”应用程序中的服务器错误. 未能加载文件或程序集“DotNetOpenAuth.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246”或它的某一个依赖项.系统找不到指定的文件. 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.IO.FileNotFoundException: 未能加载文件或程

程序集加载与反射

目录 程序集加载 获取类型信息 构造类型实例 通过反射发现成员 调用成员 一.程序集加载 Load方法:CLR通过调用System.Rreflection.Assemblly类的静态方法来显示加载程序集. public static Assembly Load(AssemblyName assemblyRef); public static Assembly Load(string assemblyString); LoadFrom方法:同样我们可以使用 远程加载程序集.此方法首先打开程序集,并