Gac网站部署

原创 2007年09月12日 14:31:00

Gac就是C:/WINDOWS/assembly文件夹,中文叫全局程序集缓存,把dll放到这个文件夹里,bin下面就不用放dll了,目的是为了程序集共享。

如何把asp.net网站部署到Gac里面

首先在你Visual Studio的安装目录里找到sn.exe文件,放到cmd里执行
sn.exe -k C:/testKey.snk
这样就会在你C盘的目录下生成testKey.snk密钥文件
然后
VS2003
在网站项目的AssemblyInfo.cs里面的[assembly: AssemblyKeyFile("")]做类似如下配置
[assembly: AssemblyKeyFile(@"C:/testKey.snk
")]
注意这里写绝对路径最好,相对路径很难写
生成网站
这时网站的dll就是个强命名程序集,
打开程序---管理工具---.net framework1.1(或2.0)配置
我的电脑,程序集缓存,右键添加,把刚生成好的dll添加进去,无错的话就添加成功了。

这时你可以把自己bin目录下的dll删了,但这时网页还打不开,对webconfig做如下修改
<compilation
         defaultLanguage="c#"
         debug="true"
    >
  <assemblies>
   <add assembly="youDllname, Version=1.0.2811.20076, Culture=neutral, PublicKeyToken=c52d31a7559027ce"/> 
    </assemblies>
   </compilation>

至于assembly后面的dll全名怎么写,你可以用反编译工具Reflector.exe去查你的dll,也可以在.net framework1.1(或2.0)配置里面找到你的dll查属性得到。
配好后网页就应该可以打开了,如果打不开,重启下iis

VS2005
要麻烦一点,你生成好snk文件后,第一步,当你确定好网站程序不改了后,点网站发布,在发布里面用固定命名和单页程序集,和对预编译程序用强命名,下面有一个可以选择snk文件的按纽,把snk文件选进去,发布网站,
然后再用上面的方法把bin目录里面的dll加到Gac里面,这时可以把bin目录里面的dll删了。然后配制webconfig如下
<configuration>节点下
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<qualifyAssembly partialName="CE.EIP.CRMBusinessEntities" fullName="CE.EIP.CRMBusinessEntities, Version=1.0.0.0, Culture=neutral, PublicKeyToken=C75F352AFF88DAD1"/>
</assemblyBinding>
</runtime>
这时网站应该可以运行。qualifyAssembly 在2005里面是通知运行时去Gac找dll的方法
基本上是这样,但你第一次很可能操作成功不了,所以要注意如下问题
webconfig永远是在你部署时修改,你要是在开发时修改就有错
当你都配制好后,要重启下iis,你更新dll的时候最好也重启下iis,为什么呢?
因为运行时是先去找C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files
下面的一个叫root 文件里面的dll,如果找到了,就不会去Gac里面找了,重启IIS的目的就是为了把里面的文件删除
并不是所有dll都可以放到Gac里面的,比如ajax.dll系列,因为这个dll会生成xml文档,dll在GAC里面,那xml会生成在哪里呢?所以凡是要生成xml文档的dll都不适合放进去(当然也有解决方案不过麻烦)

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

.NET Framework 4.0 中如何把一个程序部署到全局应用缓存(GAC)

.NET Framework 4.0中,如何把一个程序部署到全局应用缓存(GAC)中发生了相当大的变化,VS2010 自带的 MSDN 都在一些地方描述是错误的。下面是我对如何部署 .NET Fram...

网站应用部署介绍

  • 2014-05-27 17:34
  • 358KB
  • 下载

本地用ThinkPHP框架开发好一个网站部署到SAE上

本地开发好一个以ThinkPHP框架为基础的网站

网站部署工具

  • 2014-03-04 23:39
  • 1.99MB
  • 下载

动态网站入门(部署tomcat,了解jsp基础)

动态网页 定义:网页文件里包含了程序代码,通过后台数据库与WEB服务器的信息交互,由后台数据库提供实时数据更新和数据查询服务。通俗的讲:动态就是里面的内容可以在不影响页面的情况下更改,以不变应万变。...

Windows下部署Octopress静态网站至GitHub(详细教程)

环境的配置在部署之前我们需要配置下环境我们需要安装下面这几款软件 - Git - Markdown - Ruby - DevKit 其中git和markdown都直接下一步一直安装即可,在安...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)