我注意到,我不仅可以添加对DLL的引用,还可以在Visual Studio中添加对EXE的引用,并像访问DLL一样访问EXE中的所有类。
有没有必要创建DLL,或者我可以引用EXE吗?
我之所以问这个问题,是因为我经常编写在Windows和Mac下运行的.net程序,我通常的解决方案是创建一个具有该功能的DLL,然后创建两个GUI,每个目标一个。
然而,在我看来,我现在似乎只需要编写一个Windows版本的应用程序,然后将该Windows版本( EXE文件)添加到我的Mac项目中,并引用Windows EXE而不是DLL。它还有一个额外的好处,那就是我可以从Mac文件夹运行Windows版本,而不需要添加其他文件。
有什么好的理由不这样做吗?
发布于 2011-08-26 15:36:15
如果您愿意,可以将所有程序集构建为可执行文件(.exe)并引用它们。如果程序集编译为可执行文件(.exe)或类库(.dll),则.NET没有区别。
唯一的区别是可执行文件有额外的Portable Executable (PE)格式和头文件,因此它们可以在windows系统上执行。此标头主要用于启动CLR运行时。
注意::您还可以将.dll程序集构建为Portable Class Libraries
发布于 2011-08-24 21:11:54
这取决于您最终会对应用程序进行多少维护/更新。我喜欢原始模型的整洁,其中UI是基于平台分离的,DLL包含共享的类。我会发现它在维护/重构方面不那么令人困惑。
发布于 2011-08-26 15:44:13
我至少看到了两个原因,为什么一个人仍然应该分开/
时更改版本号。
https://stackoverflow.com/questions/7174454
复制相似问题