Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#excel动态链接库-can';t添加对指定文件的引用-regasm_C#_Dll_Windows Vista_Excel 2007_Regasm - Fatal编程技术网

c#excel动态链接库-can';t添加对指定文件的引用-regasm

c#excel动态链接库-can';t添加对指定文件的引用-regasm,c#,dll,windows-vista,excel-2007,regasm,C#,Dll,Windows Vista,Excel 2007,Regasm,在另一台计算机上部署和注册.NetExcel.dll时,当尝试在VBA编辑器中添加对dll的引用时,出现错误无法添加对指定文件的引用 我已经在visualstudio中的C#中创建了Excel.dll,它在我的机器上运行良好,使用windows7和office2010。在我的计算机上的excelvba编辑器中添加对dll的引用没有问题。我的问题是在另一台运行Vista和excel2007的计算机上部署。我将dll复制到此计算机,并使用regasm注册dll 谁能给我指出正确的方向吗?以下是代码和

在另一台计算机上部署和注册
.Net
Excel.dll
时,当尝试在
VBA
编辑器中添加对
dll
的引用时,出现错误
无法添加对指定文件的引用

我已经在
visualstudio
中的
C#
中创建了
Excel.dll
,它在我的机器上运行良好,使用
windows7
office2010
。在我的计算机上的
excelvba
编辑器中添加对dll的引用没有问题。我的问题是在另一台运行
Vista
excel2007
的计算机上部署。我将dll复制到此计算机,并使用
regasm
注册dll

谁能给我指出正确的方向吗?以下是代码和regasm:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe excelDll.dll


您需要注册excel的类型库才能在引用中查看dll

i、 e.
regasm.exe excelDll.dll/tlb:excelDll.tlb


标记。

您需要注册excel类型库才能在引用中查看dll

i、 e.
regasm.exe excelDll.dll/tlb:excelDll.tlb


马克。

我最近遇到并成功地解决了这个问题——尽管我不能说自己完全理解我的解决方案起作用的原因

我的两个系统都运行Windows 7 x64。一个是Excel 2010,另一个是Excel 2007

所有C#程序集都设置为“平台目标:任何CPU”。主程序集设置为“注册COM互操作”。整个程序都是使用VisualStudio安装程序项目创建的MSI安装的

我发现,如果我将VisualStudio安装程序项目“Target Platform”设置为“x64”,那么它可以在Excel2010中工作,但不能在Excel2007中工作。相反,如果我将VisualStudio安装程序项目“Target Platform”设置为“x86”,它在Excel2007中工作,但在Excel2010中不工作


遗憾的是,我无法在同一台机器上同时测试两个Excel版本,但至少这可以让它为您工作

我最近遇到并设法解决了这个问题——尽管我不能说自己确切地理解我的解决方案起作用的原因

我的两个系统都运行Windows 7 x64。一个是Excel 2010,另一个是Excel 2007

所有C#程序集都设置为“平台目标:任何CPU”。主程序集设置为“注册COM互操作”。整个程序都是使用VisualStudio安装程序项目创建的MSI安装的

我发现,如果我将VisualStudio安装程序项目“Target Platform”设置为“x64”,那么它可以在Excel2010中工作,但不能在Excel2007中工作。相反,如果我将VisualStudio安装程序项目“Target Platform”设置为“x86”,它在Excel2007中工作,但在Excel2010中不工作


遗憾的是,我无法在同一台机器上同时测试两个Excel版本,但至少这可以让它为您工作

只是为了添加到我上面的帖子-我收到了报告的“无法添加引用”错误和(如果我使用CreateObject而没有添加引用)一个“许可证不可用”错误。只是为了添加到我上面的帖子-我收到了报告的“无法添加引用”错误和(如果我使用CreateObject而没有添加引用)一个错误“许可证不可用”错误。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace TestDll
{
[ClassInterface(ClassInterfaceType.AutoDual)]
public class Test
{
    public string HelloWorld
    {
        get
        {
            return "Hello World";
        }
    }

    public void sayGoodbye1()
    {
        MessageBox.Show("Say Goodbye");

    }

    public string sayGoodbye2()
    {
        return "Say Goodbye";
    } 
  }
}