Mr.*_*C64 3 c# com msbuild typelib visual-studio
我开发了一个定义 COM UDT(用户定义类型)的 C# .EXE:
[ComVisible(true)]
[StructLayout(LayoutKind.Sequential)]
[Guid(" ... some GUID ... ")]
public struct MyStructure
{
... various fields ...
}
Run Code Online (Sandbox Code Playgroud)
我需要从这个 C# .EXE 创建一个类型库。我可以使用 Visual Studio 命令提示符来执行此操作:
> tlbexp.exe MyCSharpApp.exe
Run Code Online (Sandbox Code Playgroud)
该命令生成MyCSharpApp.tlb文件。
我想使用 Visual Studio 2019自动执行此步骤。
因此,我在构建后事件中输入了以下行:
"tlbexp.exe $(TargetDir)$(TargetFileName)"
Run Code Online (Sandbox Code Playgroud)
但是,当我从 Visual Studio 2019 构建项目时,出现以下错误:
error MSB3073: The command ""tlbexp.exe C:\Path\To\MyCSharpApp.exe"" exited with code 123.
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?我在这里缺少什么?
如何在构建后事件中自动调用 tlbexp?
tlbexp.exe 通常不在路径中。你可以做的是使用它来代替(不像你那样包围“”):
call "$(DevEnvDir)..\Tools\VsDevCmd.bat"
tlbexp.exe $(TargetDir)$(TargetFileName)
Run Code Online (Sandbox Code Playgroud)
这将执行与“Visual Studio 的开发人员命令提示符”shell 命令等效的命令,该命令将相应地设置所有路径,然后运行 tlbexp:
| 归档时间: |
|
| 查看次数: |
1328 次 |
| 最近记录: |