怎么引用.NET可执行文件*.exe中的类

博客指出引用.NET可执行文件*.exe中的类,用命令行编译简单,在csc参数中加/reference:\*.exe\即可。但在VS.NET中引用同样的exe文件并编译,默认却不行,还举例在VS.NET 2003里引用HelloWorld.exe会报错。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    如果我们要引用一个.NET可执行文件*.exe中的类,使用命令行编译是非常简单的。我们只需要在csc的参数中加上/reference:"*.exe"就行了,可是如果要在VS.NET中引用同样的exe文件并编译,居然默认是不行的angry_smile.gif

    比如我们在VS.NET 2003里面引用一个叫HelloWorld.exe的托管可执行文件,会得到如下的错误:

---------------------------
Microsoft Development Environment
---------------------------
    A reference to 
'E:\HelloWorld.exe' could not be added. This is not a valid assembly or COM component.  Only assemblies with extension 'dll' and COM components can be referenced.  Please make sure that the file is accessible, and that it is a valid assembly or COM component.
---------------------------
OK   
---------------------------

    对于.NET的assembly,exe和dll的区别就exe文件有一个被标志为entrypoint的静态方法。鉴于此我们把exe文件rename为dll,再次在VS.NET 2003中去引用,就ok了emsmilep.gif

    这里应该说是VS.NET 2003的一个bug,因为在它的Add Reference的文件选择列表框中,是支持:*.dll, *.tlb, *olb, *.ocx, *.exe这些文件类型的。

    同时,在VS.NET 2005 beta2中就可以直接添加对托管的*.exe文件的引用。

转载于:https://www.cnblogs.com/birdshome/archive/2005/04/24/140086.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值