100165417.htm
来自「C#高级编程(第三版),顶死你们。。 。up」· HTM 代码 · 共 105 行
HTM
105 行
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
13.6.3 配置目录
</title></head>
<body>
<div class="area">
<div class="col1">
<div class="lineBlue">
</div>
<!-- title -->
<div class="arcTitle">
<h1>
<a href="../16">
C#高级编程(第3版)【全文连载】
</a>
</h1>
<div style="text-align: center; font-size: 15px">
<a href="100165417.htm">
13.6.3 配置目录
</a>
</div>
<div style="text-align: center; font-size: 15px">
<a class="url" href="../../default.htm">http://book.csdn.net/</a>
2006-10-13 14:41:00
</div>
<div style="margin: 0px auto; width: 700px; border: solid 1px #0b5f98;">
<div style="float: left; width: 16px; background-color: #0b5f98; color: White; padding: 1px;">
图书导读
</div>
<div style="float: right; width: 670px; text-align: left; line-height: 16pt; padding-left: 2px">
<!--导读-->
<h1 id="divCurrentNode" style="color: #b83507; width: 100%; text-align: left; font-size: 12px; padding-left: 2px">当前章节:<a href='100165417.htm'><font color='red'>13.6.3 配置目录</font></a></h1>
<div id="divRelateNode" style="padding-left: 2px">
<div style='float:left;width:49%'>·<a href='100165414.htm'>13.6 配置</a></div><div style='float:right;width:49%'>·<a href='100165415.htm'>13.6.1 配置类别</a></div><div style='float:left;width:49%'>·<a href='100165416.htm'>13.6.2 版本问题</a></div><div style='float:right;width:49%'>·<a href='100165418.htm'>13.7 小结</a></div><div style='float:left;width:49%'>·<a href='100165419.htm'>14.1 代码访问的安全性</a></div><div style='float:right;width:49%'>·<a href='100165420.htm'>14.1.1 代码组</a></div></div>
</div>
</div>
</div>
<!-- main -->
<div id="main">
<div id="text"> <link href="css.css" rel="stylesheet" type="text/css" /><h3 style="MARGIN-TOP: 8.15pt; MARGIN-LEFT: 0cm; MARGIN-RIGHT: 0cm; FTEL: 8.15pt"><a ftel="_Toc507815148"><span lang="EN-US">13.6.3 </span></a><span style="FONT-FAMILY: 黑体">配置目录</span></h3>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">前面已经介绍了如何把引用的程序集重定向为另一个版本,以便定位程序集。我们还可以配置更多的选项。例如,不需要在全局程序集高速缓冲存储器中安装共享程序集;也可以使用配置文件中的特定目录设置来查找共享程序集。如果要在服务器上使用共享组件,就可以使用这个功能。如果要在应用程序之间共享一个程序集,但不希望它在全局程序集高速缓冲存储器中共享,就可以把该程序集放在一个共享目录中。</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">查找程序集正确的目录有两种方式:使用</span><span lang="EN-US">XML</span><span style="FONT-FAMILY: 宋体">配置文件中的</span><span lang="EN-US">codeBase </span><span style="FONT-FAMILY: 宋体">元素,或者使用</span><span lang="EN-US">probing</span><span style="FONT-FAMILY: 宋体">。</span><span lang="EN-US">codeBase </span><span style="FONT-FAMILY: 宋体">配置只用于共享程序集,而</span><span lang="EN-US">probing </span><span style="FONT-FAMILY: 宋体">可用于私有和共享程序集。</span></p>
<h4><span lang="ES">1. <codeBase></span></h4>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">也可以使用</span><span lang="ES">.NET Admin</span><span style="FONT-FAMILY: 宋体">工具来配置</span><span lang="ES"><codeBase></span><span style="FONT-FAMILY: 宋体">。在</span><span lang="ES">Applications</span><span style="FONT-FAMILY: 宋体">树的</span><span lang="ES">Configured Assemblies</span><span style="FONT-FAMILY: 宋体">中,选择已配置应用程序</span><span lang="ES">SharedDemo</span><span style="FONT-FAMILY: 宋体">的属性来配置</span><span lang="ES">codeBase</span><span style="FONT-FAMILY: 宋体">,与绑定策略一样,可以使用</span><span lang="ES">Codebases</span><span style="FONT-FAMILY: 宋体">选项卡来配置版本列表。在屏幕图</span><span lang="EN-US">13-43</span><span style="FONT-FAMILY: 宋体">中,我们对版本</span><span lang="EN-US">1.0</span><span style="FONT-FAMILY: 宋体">已进行了配置,使之应从</span><span lang="EN-US">Web</span><span style="FONT-FAMILY: 宋体">服务器</span><span lang="EN-US">http://www.christiannagel.com/WroxUtils</span><span style="FONT-FAMILY: 宋体">上加载。</span></p>
<p align="center"><span lang="EN-US"><img height="307" src="13/image053.jpg" width="277" alt="" /></span></p>
<p style="FTEL: 8.15pt" align="center"><span style="FONT-FAMILY: 宋体">图</span><span lang="EN-US"> 13-43</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">使用</span><span lang="EN-US">.NET Admin </span><span style="FONT-FAMILY: 宋体">工具创建这个应用程序配置文件:</span></p>
<p class="2" style="MARGIN-TOP: 8.15pt"><span lang="EN-US"><?xml version="1.0"?></span></p>
<p class="2"><span lang="EN-US"><configuration></span></p>
<p class="2"><span lang="EN-US"> <runtime></span></p>
<p class="2"><span lang="EN-US"> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"></span></p>
<p class="2"><span lang="EN-US"> <dependentAssembly xmlns=""></span></p>
<p class="2"><span lang="EN-US"> <assemblyIdentity FTEL="SimpleShared" </span></p>
<p class="2"><span lang="EN-US"> publicKeyToken="6ca9587197f6f8c2" /></span></p>
<p class="2"><span lang="EN-US"> <codeBase version="1.0" href="http://www.christiannagel.com/WroxUtils" /></span></p>
<p class="2"><span lang="EN-US"> </dependentAssembly></span></p>
<p class="2"><span lang="EN-US"> </assemblyBinding></span></p>
<p class="2"><span lang="EN-US"> </runtime></span></p>
<p class="2" style="FTEL: 8.15pt"><span lang="EN-US"></configuration></span></p>
<p class="MsoNormal"><span lang="EN-US"><dependentAssembly></span><span style="FONT-FAMILY: 宋体">元素与以前一样用于版本的重定向。</span><span lang="EN-US"><codeBase></span><span style="FONT-FAMILY: 宋体">元素有属性</span><span lang="EN-US">version </span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US"> href</span><span style="FONT-FAMILY: 宋体">,使用</span><span lang="EN-US">version</span><span style="FONT-FAMILY: 宋体">属性必须指定程序集的原引用版本,使用</span><span lang="EN-US">href</span><span style="FONT-FAMILY: 宋体">属性可以定义加载程序集的目录。在本例中,使用</span><span lang="EN-US">http</span><span style="FONT-FAMILY: 宋体">协议所在的路径。使用</span><span lang="EN-US">href="file:C:/WroxUtils"</span><span style="FONT-FAMILY: 宋体">可以指定本地系统上的一个目录或一个共享。</span></p>
<p class="a3" style="MARGIN-TOP: 8.15pt; FTEL: 21.45pt"><span style="FONT-FAMILY: 黑体">注意:</span></p>
<p class="a1" style="FTEL: 21.45pt"><span style="FONT-FAMILY: 楷体_GB2312">在使用从网络上加载的程序集时,会抛出</span><span lang="EN-US">System.Security.Permissions </span><span style="FONT-FAMILY: 楷体_GB2312">异常。必须为从网上加载的程序集配置所需的许可。第</span><span lang="EN-US">14</span><span style="FONT-FAMILY: 楷体_GB2312">章介绍了如何为程序集配置安全许可。</span></p>
<h4><span lang="ES">2. <probing></span></h4>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">如果没有配置</span><span lang="ES"><codeBase></span><span style="FONT-FAMILY: 宋体">,程序集也没有存储在全局程序集高速缓冲存储器中,</span><span style="FONT-FAMILY: 宋体">运行</span><span style="FONT-FAMILY: 宋体">库就会利用</span><span lang="ES">probing</span><span style="FONT-FAMILY: 宋体">来查找程序集。</span><span lang="EN-US">.NET</span><span style="FONT-FAMILY: 宋体">运行库会在应用程序目录中查找文件扩展名为</span><span lang="EN-US">.DLL </span><span style="FONT-FAMILY: 宋体">或</span><span lang="EN-US">.EXE</span><span style="FONT-FAMILY: 宋体">的程序集,或在其子目录中搜索同名的程序集。如果没有找到程序集,会继续搜索。可以在应用程序配置文件的</span><span lang="EN-US"><runtime></span><span style="FONT-FAMILY: 宋体">部分中,用</span><span lang="EN-US"><probing></span><span style="FONT-FAMILY: 宋体">元素配置搜索目录。使用</span><span lang="EN-US">.NET Framework</span><span style="FONT-FAMILY: 宋体">配置工具选择应用程序的属性,也可以很容易地完成这个</span><span lang="EN-US">XML</span><span style="FONT-FAMILY: 宋体">配置。使用搜索路径可以配置</span><span lang="EN-US">probing</span><span style="FONT-FAMILY: 宋体">所在的目录,如图</span><span lang="EN-US">13-44</span><span style="FONT-FAMILY: 宋体">所示。</span></p>
<p align="center"><span lang="EN-US"><img height="307" src="13/image054.jpg" width="281" alt="" /></span></p>
<p style="FTEL: 8.15pt" align="center"><span style="FONT-FAMILY: 宋体">图</span><span lang="EN-US"> 13-44</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">得到的</span><span lang="EN-US">XML</span><span style="FONT-FAMILY: 宋体">文件如下所示。</span></p>
<p class="a6" style="MARGIN-TOP: 8.15pt"><span lang="EN-US"><?xml version="1.0"?></span></p>
<p class="a6"><span lang="EN-US"><configuration></span></p>
<p class="a6"><span lang="EN-US"> <runtime></span></p>
<p class="a6"><span lang="EN-US"> <gcConcurrent enabled="enabled" /></span></p>
<p class="a6"><span lang="EN-US"> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"></span></p>
<p class="2"><span lang="EN-US"> <probing privatePath="bin;utils;" xmlns="" /></span></p>
<p class="a6"><span lang="EN-US"> </assemblyBinding></span></p>
<p class="a6"><span lang="EN-US"> </runtime></span></p>
<p class="a6" style="FTEL: 8.15pt"><span lang="EN-US"></configuration></span></p>
<p class="MsoNormal"><span lang="EN-US"><probing></span><span style="FONT-FAMILY: 宋体">元素只有一个必需的属性</span><span lang="EN-US">privatePath</span><span style="FONT-FAMILY: 宋体">。这个应用程序配置文件告诉运行库,应在应用程序的根目录下搜索程序集,再在</span><span lang="EN-US">bin</span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US">util </span><span style="FONT-FAMILY: 宋体">目录中搜索。这两个目录是应用程序根目录的子目录。不可能在应用程序根目录或其子目录的外部引用私有程序集。如上所述,在应用程序根目录外部的程序集必须有一个共享名,并可以使用元素</span><span lang="EN-US"><codeBase></span><span style="FONT-FAMILY: 宋体">来引用。</span></p></div>
<!-- page -->
<div class="page" style="text-align: center">
<a href="100165416.htm">上一页</a> <a href="index.html">首页</a> <a href="100165418.htm">下一页</a>
</div>
<div style="margin: 0px auto; width: 700px; border: solid 1px #0b5f98;">
<div style="float: left; width: 16px; background-color: #0b5f98; color: White; padding: 1px;">
图书导读
</div>
<div style="float: right; width: 670px; text-align: left; line-height: 16pt; padding-left: 2px">
<!--导读-->
<h1 id="divCurrentNode2" style="color: #b83507; width: 100%; text-align: left; font-size: 12px; padding-left: 2px">当前章节:<a href='100165417.htm'><font color='red'>13.6.3 配置目录</font></a></h1>
<div id="divRealteNod2" style="padding-left: 2px">
<div style='float:left;width:49%'>·<a href='100165414.htm'>13.6 配置</a></div><div style='float:right;width:49%'>·<a href='100165415.htm'>13.6.1 配置类别</a></div><div style='float:left;width:49%'>·<a href='100165416.htm'>13.6.2 版本问题</a></div><div style='float:right;width:49%'>·<a href='100165418.htm'>13.7 小结</a></div><div style='float:left;width:49%'>·<a href='100165419.htm'>14.1 代码访问的安全性</a></div><div style='float:right;width:49%'>·<a href='100165420.htm'>14.1.1 代码组</a></div></div>
</div>
</div>
</div></div>
</body>
</html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?