当我直接将程序编译后,debug目录下就有了可执行的exe程序,并且将debug目下的这些文件整体copy到任何一台已经安装了
framework2.0的pc上均可以运行。
现在遇到了一个问题,再部署的时候我们希望将C.dll放置于固定的位置C:\Bin\下面,而debug程序放置的位置并不固定,并且
删除debug目录中的C.dll文件
这样这个exe程序就不能运行了,会提示:“未能加载文件或程序集.....C.dll”
要如何解决这个问题,忘各位大虾指点迷经
14 个解决方案
#1
#2
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v1.0.3705">
<dependentAssembly>
<assemblyIdentity name="aa" culture="neutral" />
<codeBase version="1.0.0.0" href="file:///C:/DC_HIS/BIN/HIS.PharmIn.BLL.dll"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v1.0.3705">
<dependentAssembly>
<assemblyIdentity name="aa" culture="neutral" />
<codeBase version="1.0.0.0" href="file:///C:/DC_HIS/BIN/HIS.PharmIn.BLL.dll"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
#3
加入到程序集全局缓存里
#4
怎么加入到全局缓存里啊?能具体的解释一下么?谢谢~
#6
如果把C.dll放到GAC中,我们如何简单的更新其版本呢,我们希望能够通过简单的覆盖C.dll实现多个可执行程序的直接升级,我们将C.dll放置在C:\Bin\目录下就为了通过覆盖文件简单升级所有程序
#7
不同的強簽名就可以了
#8
这个加入到Global Assembly Cache的这个过程能写在代码里么?
#9
顶一下,等待高人解决一下,我们希望能让程序自动完成这些功能,而不需要使用手动通过.net的工具将C.dll加入到GAC
#10
在你的代码里面调用gacutil
你可以吧gacutil.exe拷贝到你的程序目录下,或者使用绝对路径指定到gacutil.exe文件。
private void button1_Click(object sender, EventArgs e)
{
string args = " /i D:\\Bin\\C.dll";
System.Diagnostics.Process.Start("gacutil.exe", args);
}
你可以吧gacutil.exe拷贝到你的程序目录下,或者使用绝对路径指定到gacutil.exe文件。
#11
另外请教一个问题 定义变量时 Dim MyAssembly As [Assembly] 这句话中的[Assembly]加了‘[]’是什么意思
#12
...........
#13
那个 ,啥意思呀?朋友
#14
把dll放到GAC中
#1
#2
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v1.0.3705">
<dependentAssembly>
<assemblyIdentity name="aa" culture="neutral" />
<codeBase version="1.0.0.0" href="file:///C:/DC_HIS/BIN/HIS.PharmIn.BLL.dll"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v1.0.3705">
<dependentAssembly>
<assemblyIdentity name="aa" culture="neutral" />
<codeBase version="1.0.0.0" href="file:///C:/DC_HIS/BIN/HIS.PharmIn.BLL.dll"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
#3
加入到程序集全局缓存里
#4
怎么加入到全局缓存里啊?能具体的解释一下么?谢谢~
#5
#6
如果把C.dll放到GAC中,我们如何简单的更新其版本呢,我们希望能够通过简单的覆盖C.dll实现多个可执行程序的直接升级,我们将C.dll放置在C:\Bin\目录下就为了通过覆盖文件简单升级所有程序
#7
不同的強簽名就可以了
#8
这个加入到Global Assembly Cache的这个过程能写在代码里么?
#9
顶一下,等待高人解决一下,我们希望能让程序自动完成这些功能,而不需要使用手动通过.net的工具将C.dll加入到GAC
#10
在你的代码里面调用gacutil
你可以吧gacutil.exe拷贝到你的程序目录下,或者使用绝对路径指定到gacutil.exe文件。
private void button1_Click(object sender, EventArgs e)
{
string args = " /i D:\\Bin\\C.dll";
System.Diagnostics.Process.Start("gacutil.exe", args);
}
你可以吧gacutil.exe拷贝到你的程序目录下,或者使用绝对路径指定到gacutil.exe文件。
#11
另外请教一个问题 定义变量时 Dim MyAssembly As [Assembly] 这句话中的[Assembly]加了‘[]’是什么意思
#12
...........
#13
那个 ,啥意思呀?朋友
#14
把dll放到GAC中