在.net 2.0客户端中部署使用vsto .net 4.0制作的Excel加载项
我已经开发了一个使用Visual Studio 2010与目标框架为4.0客户端configuration文件的Excel加载项。 插件在我的机器上工作正常,现在我想运送我的客户的机器。 我在我的网站托pipe我的添加,以便它可以直接从那里下载。
我面临的问题是,在客户端的机器上,插件安装正常,但不加载。 当我去“选项”菜单中的添加部分,select我的COM加载项后,我发现加载行为说,
加载行为:未加载。 加载COM加载项期间发生运行时错误。
我最好的猜测是,因为我使用.Net 4.0客户端configuration文件开发了我的插件。我使用的.Net引用是来自版本4.0的引用,并且在客户端它试图find.Net 4.0程序集,但无法find它们,因为我的客户端有.Net 2.0,因此它不加载加载项。
但是我想将它部署在.Net framework 2.0及以上版本的客户端上,而不需要安装.Net客户端configuration文件4.0。
如果有人知道如何解决这个问题,请帮助我。
我认为你是从VS2010运气不好,但你应该能够在.NET 2.0机器上部署一个Excel加载项,通过使用Visual Studio 2008中的模板,我很确定这个选项是可用的,所以一个选项是将您的解决scheme移植到VS2008及其“较旧”的VSTO项目types之一中。 这不好玩,但应该解决。
这取决于你的插件是什么,但另一个考虑是考虑开源/免费的ExcelDNA ,它提供了一个很好的方法来创buildXLL和.NET之间的桥梁,从而可以方便地调用.NET dll。
我自己并没有使用它,但NetOffice也可能是需要研究的东西。
就我所知,您无法使用Visual Studio 2010开发VSTO Excel加载项目标.Net 2.0。
如果在Visual Studio 2010开始屏幕上单击“新build项目”,将“目标框架”下拉列表更改为.NET Framework 2.0
然后浏览到Office => 2007
或Office => 2010
您将看到“找不到项目”。
如果您创build一个Office加载项定位.Net 3.5或4.0(VS 2012上为4.5),并在“项目属性”窗口中尝试更改目标框架,则会出现以下错误:
你需要在客户端计算机上安装.Net framework 4。 每个Windows操作系统> = XP支持.Net 4,所以这不应该太成问题!
我会确保在项目的先决条件中select.NET 4.0 Framework。 这样做将允许用户在安装加载项的过程中下载/安装您定位的.NET Framework。
你在这里find这个设置
项目属性 – >生成 – >先决条件
这有几个好处:
- 您将不会收到客户来电,说“您的加载项经常崩溃”,因为他们将.NET 4.0与您的加载项一起安装,或者根本不会安装加载项。
- 一旦你的加载项被加载,你可以确定你的目标.NET框架安装在最终用户的计算机上。