Winform部署时强名称签名mshtml.dll无效的解决方案

摘要:
程序运行在本机无错误。,结果运行出错,提示:System.Reflection.TargetInvocationException:调用的目标发生了异常。---˃System.IO.FileNotFoundException:未能加载文件或程序集“Microsoft.mshtml,Version=7.0.3300.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。默认引用属性改为:复制本地=True特定版本=false;于是在重新添加新的引用时,观察了一下引用界面,发现有三个mshtml。于是尝试添加第三个,并将默认引用属性改为:复制本地=True特定版本=false;在安装部署程序中添加主程序下\bin\Microsoft.mshtml.dll,编译时已复制到bin下。这个文件比较大,有7.63M,安装部署程序压缩后也有1.7M。

在部署一个vs2008环境下的Winform应用程序时,因为引用一个Html编辑器,而用到了Microsoft mshtml.dll程序集,

版本为7.0.3300.0,对应文件在

C:\Vs2008的安装目录\Visual Studio Tools for Office\PIA\Office11\Microsoft.mshtml.dll

C:\Vs2008的安装目录\Visual Studio Tools for Office\PIA\Office12\Microsoft.mshtml.dll

添加项目引用时可以在GAC程序集里选择,因为在安装Visual Studio Tools for Office时已经对该组件进行注册,并部署到GAC里。

程序运行在本机无错误。

部署到客户端,注:客户端没有vs200X开发环境。,结果运行出错,提示:

System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---> System.IO.FileNotFoundException: 未能加载文件或程序集“Microsoft.mshtml, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件。

默认引用属性改为:

复制本地=True

特定版本=false;

于是在重新添加新的引用时,观察了一下引用界面,发现有三个mshtml。

于是尝试添加第三个,

邀月工作室

并将默认引用属性改为:

复制本地=True

特定版本=false;

在安装部署程序中添加主程序下\bin\Microsoft.mshtml.dll,编译时已复制到bin下。

部署到客户端,OK!
这个文件比较大,有7.63M,安装部署程序压缩后也有1.7M。所以也有一种轻巧的替代方案,只有100多K,

请参看,

http://www.cnblogs.com/wuhuacong/archive/2009/11/12/1601532.html

http://www.codeproject.com/KB/miscctrl/csEXWB.aspx?msg=2814607#xx2814607xx

免责声明:文章转载自《Winform部署时强名称签名mshtml.dll无效的解决方案》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇关于集合的size的操作oracle 视图下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

winform中如何在TextBox中只能输入数字(可以带小数点)

可以采用像web表单验证的方式,利用textbox的TextChanged事件,每当textbox内容变化时,调用正则表达式的方法验证,用一个label在text后面提示输入错误,具体代码如下: private void textBox1_TextChanged(objectsender, EventArgs e) {...

C#Winform 各种控件缩写总结---转载

标准控件1 btn Button2 chk CheckBox3 ckl CheckedListBox4 cmb ComboBox5 dtp DateTimePicker6 lbl Label7 llb LinkLabel8 lst ListBox9 lvw ListView10 mtx MaskedTextBox11 cdr MonthCalendar12...

C# winform 登陆成功打开主form,同时关闭登陆form

设置 Application.Run(new Form1());其中form1为主窗口,然后在form1的load方法里面这样写: 代码 private void Form1_Load(object sender, EventArgs e)         {             Form f2 = new Form2();            ...

C# WinForm控件美化扩展系列之给TextBox加水印

在一些软件中,我们看到当一个输入控件(textbox)没有输入而且没有焦点的时候,会显示一些提示信息,网上有一些介绍用复合控件来实现,其实我们直接继承textbox控件也很容易实现。 下面就介绍怎样来实现这个控件。 第一步:我们建一个继承textbox的类,命名为watermaktextbox。 第二步:给这个类添加两个属性,一个是emptytexttip...

VS2008中的配置文件app.config简单小结

应用程序的配置文件用于读取和保存简单的本地数据,vs中新增配置文件可以直接在项目的”属性“-”设置“里添加,添加后在项目的Properties文件夹会多出一组两个文件:Settings.settings和Settings.Designer.cs,前者是一个xml文件用于vs界面的显示,后者是一个vs生成的继承了System.Configuration.Ap...

Winform开发框架之对话框样式同化

早在《Winform分页控件重大更新,并实现普通版、DotNetBar、DevExpress三大版本整合更新(附各种例子源码)》随笔中,就集成了三种界面样式的分页控件(普通版、基于DotNetBar样式和基于DevExpress样式三种),后来也就形成了我三种不同的Winform开发框架界面样式。 1)基于传统经典模式的界面,采用了OutLookBar工具...