-->

Regisering一个DLL写在C#中的窗口服务器计算机上 - (安装一个C#类库)(Regise

2019-10-19 01:10发布

我写了一个保存和打开对话框中添加对VBA项目我的工作-继承人的链接VBA:获取Excel中FileDialogOpen默认指向“我的电脑” (感谢您的帮助@mehow)。

现在,这个加上(类库,因为它实际上是所谓的)与我的计算机上运行VBA项目,我一直都开发它的正常工作。 但是现在对我没能获得成功注册,使VBA项目可以看到它的插件在服务器上使用此插件(类库)。

我写的对话框,VS 2013 Express附加在C#桌面我的Windows 8机器上,现在我们正试图测试它在Windows Server 2008计算机在VBA项目将在这一天结束时运行上。

我已经在服务器上使用regsvr32命令,以及寻找在VS 2013部署选项尝试,但既不似乎工作! 我也试图寻找一个解决方案,但至今没有运气。

如果任何人有任何想法如何可以做到这一点,将不胜感激。 很抱歉,如果我不使用正确的术语。 。 。 添加插件等,但我希望你明白我的意思。

非常感谢

特里斯坦。

Answer 1:

我终于似乎已经得到了这个,所以我不知道这是所有你需要做的,但希望它可以帮助别人,将来尝试各种不同的方法后,开始工作。

首先,Visual Studio的2013 Express不包括“安装项目”,所以你不能在它创建部署pacages用于安装在其他机器上你的项目,所以你必须做手工。

那么你也将需要您的目标计算机上的相同的.Net框架,你曾写下你的项目 - 这是没有道理的,如果你认为这件事,但是工作检查。

所以我复制的.dll.pdb.tlb从Visual Studio项目文件bin\Debug文件夹,我的开发PC上,并把它们放到一个文件夹上的服务器C:驱动器。

然后在开始菜单上的图标,打开命令提示符以管理员身份(右击并单击“以管理员身份运行”通过使用命令提示符,然后导航至您的目的地PC的.Net文件夹。 cd C:\Windows\Microsoft.NET\Framework\v4.0.30319文件夹,你会发现“

一旦有我跑regasm /codebase "C:\MyClassLibraryFolder\MyClassLibrary.dll"regasm /tlb /codebase "C:\MyClassLibraryFolder\MyClassLibrary.dll" ,这似乎一切都注册并使用让服务器在我的VBA项目运行MyClassLibrary。

从我读regasm安装与.net 4+(如果发现该文件夹中的服务器上),并gacutil似乎不再包括在内,当我试图通过复制它在服务器上运行它跨越它似乎没有做任何事。

如果这不工作,我也没跑了这些命令,使他们有可能加入到夺冠regtlibv12.exe在发现注册类型库的x64 Regtlib来也提到Regasm /tlb

而这个环节相类似,以及使用C#类库在非开发机

有关信息regasm - http://msdn.microsoft.com/en-us/library/tzat5yw6%28v=vs.110%29.aspx

希望这可以帮助。

感谢所有为您的建议。



Answer 2:

如果你想注册.dll ,你需要把它放在装配- C:\Windows\assembly

要做到这一点,你需要使用的Gacutil.exe实用程序,并执行

gacutil.exe /if Your_dll_name.dll


文章来源: Regisering a Dll written in C# on a windows server machine - (Install a C# Class Library)