如何从Visual Studio命令提示符以外的命令行运行regasm.exe?
我想从cmd运行regasm.exe。这是在C语言中:\ WINDOWS \ Microsoft.net \框架\ 2.057如何从Visual Studio命令提示符以外的命令行运行regasm.exe?
我做这样的C:\ regasm.exe
它给regasm未被识别为内部或外部命令。
所以我明白我需要在环境变量中设置regasm.exe的路径。
对于哪个变量,我需要设置路径来运行regasm,如上所述?
在命令提示符:
SET PATH = "%PATH%;%SystemRoot%\Microsoft.NET\Framework\v2.0.50727"
我用一个批处理文件如下:
path = %path%;C:\Windows\Microsoft.NET\Framework\v2.0.50727
regasm httpHelper\bin\Debug\httpHelper.dll /tlb:.\httpHelper.tlb /codebase
pause
你不需要您的路径上的目录。你可以把它放在你的道路上,但你不需要这样做。
如果你很少打电话regasm,或从一个批处理文件调用它,你会发现它是简单的通过完全合格的路径名只是调用regasm上的exe,如:
c:\Windows\Microsoft.NET\Framework\v2.0.50727\regasm.exe MyAssembly.dll
像Cheeso说:
您不需要路径上的目录。你可以把它放在你的道路上,但你不需要这样做。 如果你很少打电话regasm,或从一个批处理文件调用它,你会发现它是简单的通过完全合格的路径名只是调用regasm上的exe,如:
的%SystemRoot% \ Microsoft.NET \框架\ V2.0.50727 \ regasm.exe MyAssembly.dll程序
我用这个作为在Visual Studio生成后事件:
根据您的Visual Studio版本,使用THES Ë环境变量来代替:
- Visual Studio 2008中:
VS90COMNTOOLS
- Visual Studio 2010中:
VS100COMNTOOLS
- 的Visual Studio 2012:
VS110COMNTOOLS
- 的Visual Studio 2013:
VS120COMNTOOLS
- 的Visual Studio 2015年:
VS140COMNTOOLS
- Visual Studio 2017:
VS150COMNTOOLS
对于64位RegAsm。exe文件,你需要某个地方找到这样的:
c:\Windows\Microsoft.NET\Framework64\version_number_stuff\regasm.exe
,如果您使用.NET 4.5,复制并粘贴在CMD窗口此命令
%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\regasm.exe MyAssembly.dll
请投票,如果你的作品的DLL 。 :D
通过将dll拖放到'regasm'上,您可以注册它。 您可以打开两个'窗口资源管理器'窗口。其中一个将包含您希望注册的dll。第二个窗口将是'regasm'应用程序的位置。在两个窗口中向下滚动,以便您可以查看dll和“regasm”。 它有助于减小两个窗口的大小,使它们并排排列。 请务必将dll拖放到标有'应用程序'的'regasm'上。有几个'regasm'文件,但你只需要应用程序。
我真的不喜欢硬编码的路径,当你安装一个新的.Net或运行在不同版本的机器上时,你需要确保你找到一个regasm版本。这里有一个解决方案,可以找到来自最新的.Net安装的regasm的regasm.exe。
在一个bat文件:
for /f %%a in ('dir %windir%\Microsoft.Net\Framework\regasm.exe /s /b') do set currentRegasm="%%a"
%currentRegasm% "full\path\to\your.dll" /options
一个bat文件(即命令提示符)之外,只需使用%a
代替%%a
更妙的是:SET PATH“%PATH%;%SYSTEMROOT%\ Microsoft.NET \ Framework \ v2.0.50727“ – Ries 2009-09-04 08:33:19
@CharlieSomerville你可以修复原来的问题吗?对于别人来说编辑太小了。 – 2013-04-02 10:43:00
我无法在没有添加等于的情况下使其工作。我试图编辑它,但是SO表示编辑太短。 `SET PATH ='%PATH%;%SystemRoot%\ Microsoft.NET \ Framework \ v2.0.50727` – KevM 2015-06-05 17:24:48