如何从Visual Studio命令提示符以外的命令行运行regasm.exe?

Cut*_*ute 50 .net c++ command-line operating-system visual-c++

我想从cmd运行regasm.exe.可在c:\ windows\Microsoft.net\framework\2.057中找到

我喜欢这个c:\ regasm.exe

它给予regasm不被认为是内部或外部命令.

所以我明白我需要在环境变量中设置regasm.exe的路径.

如上所述,我需要为哪个变量设置运行regasm的路径?

ano*_*ard 42

在命令提示符下:

SET PATH = "%PATH%;%SystemRoot%\Microsoft.NET\Framework\v2.0.50727"
Run Code Online (Sandbox Code Playgroud)

  • 更好的是:SET PATH"%PATH%;%SystemRoot%\ Microsoft.NET\Framework\v2.0.50727" (11认同)
  • @CharlieSomerville你能解决这个问题吗?对于其他人来说,它太小了. (3认同)

Rie*_*ies 38

像Cheeso说:

您不需要路径上的目录.你可以把它放在你的路上,但你不需要这样做.如果您很少调用regasm,或者从批处理文件中调用它,您可能会发现通过exe上的完全限定路径名调用regasm更简单,例如:

%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\regasm.exe MyAssembly.dll

  • Cheeso的回答是否值得单独改变? (2认同)

Che*_*eso 17

你并不需要您的路径上的目录.你可以把它放在你的路上,但你不需要这样做.
如果您很少调用regasm,或者从批处理文件中调用它,您可能会发现通过exe上的完全限定路径名调用regasm更简单,例如:

c:\Windows\Microsoft.NET\Framework\v2.0.50727\regasm.exe   MyAssembly.dll
Run Code Online (Sandbox Code Playgroud)


Edw*_*kwu 17

如果使用.net 4.5创建DLL,则在命令提示符下复制并粘贴此命令.

 %SystemRoot%\Microsoft.NET\Framework\v4.0.30319\regasm.exe MyAssembly.dll
Run Code Online (Sandbox Code Playgroud)


小智 8

我在Visual Studio中将其用作后期构建事件:

call "%VS90COMNTOOLS%vsvars32.bat"
regasm  $(TargetPath) /tlb
Run Code Online (Sandbox Code Playgroud)

根据您的Visual Studio版本,请改用以下环境变量:

  1. Visual Studio 2008: VS90COMNTOOLS
  2. Visual Studio 2010: VS100COMNTOOLS
  3. Visual Studio 2012: VS110COMNTOOLS
  4. Visual Studio 2013: VS120COMNTOOLS
  5. Visual Studio 2015: VS140COMNTOOLS
  6. Visual Studio 2017: VS150COMNTOOLS