我用clickOnce发布一个用到DEVexpress的winform程序。
但是局域网内其它人去我发布的那个网站点击“安装”的时候,出现如下提示
无法安装或运行此应用程序,该应用程序要求首先在“全局程序集缓存(GAC)中安装程序集”
DevExpress.Data.v11.2 版本 11.2.5.0。
请与系统管理员联系。
网上有种说法 说是如果用DEVExpress的话
需要将DEVExpressDLL加入系统 GAC 才可以使用GAC在系统的是么位置? 应该怎么加入呢????如何整合到部署中,我可不想单独的去给对方机器单独装DEVexpress驱动什么的 太费事了!!
但是局域网内其它人去我发布的那个网站点击“安装”的时候,出现如下提示
无法安装或运行此应用程序,该应用程序要求首先在“全局程序集缓存(GAC)中安装程序集”
DevExpress.Data.v11.2 版本 11.2.5.0。
请与系统管理员联系。
网上有种说法 说是如果用DEVExpress的话
需要将DEVExpressDLL加入系统 GAC 才可以使用GAC在系统的是么位置? 应该怎么加入呢????如何整合到部署中,我可不想单独的去给对方机器单独装DEVexpress驱动什么的 太费事了!!
求解释!!!
http://www.cnblogs.com/tdhao/archive/2011/11/04/2184660.html
http://www.cnblogs.com/tdhao/archive/2011/11/04/2184660.html
我怀疑提示GAC中那个错误 也许和程序签名有关
程序集已成功添加到缓存中...是不是和这个有关系啊
该目录下面有2个文件,sn.exe和gacutil.exe,将其复制出来,然后和DEV相关DLL放在同一个目录下面(但不要是的项目路径)。然后编写一个bat文件,文件名随意,内容如下:
echo off
color 0a
cd /d %~dp0.
for %%c in (*.dll) do sn -Vr %%c
for %%c in (*.dll) do gacutil /if %%c
for %%c in (*.dll) do sn -Vu %%c
echo **************************************
echo 安装完毕。
echo on
pause执行上面编写的bat脚本,即可完成DEV所有的dll安装到GAC缓存
DevExpress.Data.v11.2 版本 11.2.5.0。
请与系统管理员联系。
----------------------------------------------------------
通常都是在相关目录查找DLL,找不到的时候会去GAC中找。你看下是否相关DLL未在安装包内
你把dll放到 程序运行目录即可。一般都是开发人员才安装到gac,这样就不用添加到项目里去,其他人也能正确找到dll引用。
你要添加到gac的话,这样就可以了,注意版本,
@echo offset dxver=v8.1
set configuration=Debugset GACPATH="%WinDir%\assembly\GAC_MSIL\"rem VS2008 paths
set sn="%ProgramFiles%\Microsoft SDKs\Windows\v6.0A\Bin\sn.exe"
set gacutil="%ProgramFiles%\Microsoft SDKs\Windows\v6.0A\Bin\gacutil.exe"
set msbuild="%WinDir%\Microsoft.NET\Framework\v3.5\MSBuild.exe"
@echo offcall defines.batcd DevExpress.Dll
%gacutil% -i DevExpress.BonusSkins.%DXVER%.dll
%gacutil% -i DevExpress.Charts.%DXVER%.Core.dll
。。
注意vs的版本号,这个是vs2008的,你也可以改成vs2005,或者vs2010