是否可以引用二进制程序集而不是DLL

时间:2016-05-09 08:17:57

标签: c# asp.net reference

我继承了两个解决方案的遗留应用程序。一种解决方案是Windows窗体(UI)应用程序,另一种是Windows服务。

Windows服务解决方案引用了User Interface exe,这是我在应用程序中已经存在的实现。

运行Windows服务时,我收到以下错误:

  

...发布服务主循环失败无法加载文件或程序集   'xxx.xxx.xxx.xxx,版本= 1.0.0.0,   Culture = neutral,PublicKeyToken = abcc533bcb766348'或其中一个   依赖。尝试加载程序不正确   格式

我最初的任务是将此解决方案从.Net版本3.5升级到.Net版本4.5,这是我成功完成的,但此引用导致了我的问题。

有人可以告诉我从C#引用.exe二进制文件的影响。我无法更改引用到类库的解决方案,因为它具有使用.Net C#Windows窗体工具构建的用户界面,因此它的输出类型是“Windows应用程序”

非常感谢任何和所有的帮助。感谢

1 个答案:

答案 0 :(得分:2)

引用EXE程序集或DLL程序集在.NET中没有什么区别,它们都是程序集,.NET可以毫无问题地处理它们。

您的案例中的问题似乎是平台构建和运行不兼容:32对64位。该项目可能是为64位构建的,而您正试图在32位系统上运行。