首页 > 其他 > 详细

部署强命名程序集到GAC

时间:2014-01-21 00:27:10      阅读:359      评论:0      收藏:0      [点我收藏+]

上文私有部署应用程序升级策略中我们制作了SomeMethodLib.dll文件并通过私有部署方式应用,那么如何部署到GAC并使用呢。

1、通过VS命令提示工具中的Gacutil工具将SomeMethodLib.dll安装到GAC

gacutil /i SomeMethodLib.dll

bubuko.com,布布扣

2、查看是否正确部署

gacutil /l SomeMethodLib

bubuko.com,布布扣

3、更改.config文件,让CLR从GAC中尝试加载SomeMethodLib,注意已将CodeBase屏蔽掉了。

<configuration>
	<runtime>
		<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
			<probing privatePath="NoSN;V1;V2;V3"/>

			<!--确定相关程序集 查找公钥为1217633aa9436597,语言文化为中性的版本号在1.0.0.1到1.0.0.2
			的程序集SomeMethodLib,定位为相同公钥相同程序集名称且版本号为1.0.0.3的程序集-->
			<dependentAssembly>
				<assemblyIdentity type="win32"
							  name="SomeMethodLib"
							  publicKeyToken="1217633aa9436597" culture="neutral"/>
				<!--<bindingRedirect oldVersion="1.0.0.1" newVersion="1.0.0.2"/>
				<codeBase version="1.0.0.2" href="V2/SomeMethodLib.dll"/>-->
				<bindingRedirect oldVersion="1.0.0.1-1.0.0.2" newVersion="1.0.0.3"/>
				
				<!--<codeBase version="1.0.0.3" href="V3/SomeMethodLib.dll"/>-->
				
				<publisherPolicy apply="no"/>
			</dependentAssembly>

		</assemblyBinding>
	</runtime>
</configuration>

4、运行DeployTest.exe,查看是否调用了SomeMethodLib

bubuko.com,布布扣

从运行结果上可以看到的确调用了版本1.0.0.3

5、从GAC中卸载SomeMethodLib

gacutil /u assemblyname

bubuko.com,布布扣

6、继续运行DeployTest.exe查看运行结果,查看我们是否调用的GAC中的SomeMethodLib

bubuko.com,布布扣

从运行结果可以看出,当SomeMethodLib被卸载后应用程序会抛出System.IO.FileLoadException异常。

使用Gacutil.exe的细节可查看MSDN文档:

Gacutil.exe

在给用户部署时会用到Gacutil.exe,可以在有VS的机器上查找Gacutil.exe很容易找到文件位置:C:\ProgramFiles\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools


部署强命名程序集到GAC

原文:http://blog.csdn.net/cheviko/article/details/18403703

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!