0

我使用 Visual Studio 2010 开发了一个 excel 插件,目标框架为 4.0 客户端配置文件。该插件在我的机器上运行良好,现在我想运送我客户的机器。我将我的添加托管在我的网站上,以便可以直接从那里下载。

我面临的问题是,在客户端的机器上,插件安装得很好,但没有加载。当我转到“选项”菜单中的“添加”部分时,在选择我的 COM 加载项后,我发现加载行为说,

加载行为:未加载。加载 COM 加载项期间发生运行时错误。

我最好的猜测是,因为我使用 .Net 4.0 客户端配置文件开发了我的加载项,所以我使用的所有 .Net 引用都是来自 4.0 版的引用,并且在客户端它试图找到 .Net 4.0程序集,但由于我的客户端具有 .Net 2.0,因此无法找到它们,因此它不会加载加载项。

但我想将它部署在具有 .Net 框架 2.0 及更高版本的客户端上,而不安装 .Net 客户端配置文件 4.0。

如果有人知道如何解决这个问题,请帮助我。

4

3 回答 3

2

我认为您在 VS2010 中运气不佳,但是您应该能够使用 Visual Studio 2008 中的模板在 .NET 2.0 机器上部署 Excel 插件,我很确定该选项可用,所以一个选项是将您的解决方案反向移植到 VS2008 及其“旧”VSTO 项目类型之一。这不好玩,但应该解决。

这在一定程度上取决于您的附加组件的功能,但另一个考虑因素是研究开源/免费的ExcelDNA,它提供了一种在 XLL 和 .NET 之间建立桥梁的好方法,可以轻松调用 .NET dll。

我自己没有使用过它,但NetOffice也可能值得研究。

于 2012-09-14T09:38:38.810 回答
1

据我所知,您无法使用 Visual Studio 2010 开发针对 .Net 2.0 的 VSTO Excel 加载项。

如果您在 Visual Studio 2010 开始屏幕上单击“新建项目”,请将“目标框架”下拉列表更改为.NET Framework 2.0并浏览至,Office => 2007否则Office => 2010您将看到两者都“未找到项目”。

如果您创建面向 .Net 3.5 或 4.0(或 VS 2012 上的 4.5)的 Office 加载项,并在“项目属性”窗口中尝试更改目标框架,则会收到以下错误:

错误

如果您想让它工作,您将需要在客户端计算机上安装 .Net framework 4。每个 Windows 操作系统 >= XP 都支持 .Net 4,所以这应该不会太成问题!

于 2012-09-12T09:54:18.887 回答
0

我会确保在项目的先决条件中选择 .NET 4.0 Framework。这样做将允许用户在安装外接程序期间下载/安装您所针对的 .NET Framework。

您可以在以下位置找到此设置

项目属性 -> 构建 -> 先决条件

这有几个好处:

  • 您不会收到说“您的加载项经常崩溃”的客户电话,因为他们要么将 .NET 4.0 与您的加载项一起安装,要么他们根本不会安装加载项。
  • 加载外接程序后,您可以确定您所针对的 .NET 框架已安装在最终用户计算机上。
于 2012-09-12T11:37:39.200 回答