【发布时间】:2011-05-09 03:32:27
【问题描述】:
我有一个 C# WinForms 项目,其中包含一些 WCF 服务定义文件,这些文件是我通过添加标准类(不使用添加项 > WCF 服务)在项目中创建的。
该项目包含一些依赖项,需要我为 x86 处理器构建项目。
如果我使用 WCF 服务配置编辑器编辑 app.config 文件并尝试使用“创建新服务...”向导,然后浏览到项目 EXE 文件(在调试文件夹中),我会收到错误消息, (我读过是因为我的目标是 x86 处理器):
Could not load file or assembly 'EXE_FILE_NAME' or one of its dependencies. An attempt was made to load a program with an incorrect format.
因此,在将目标更改为所有 CPU,再次编译项目,然后再次尝试在 WCF 服务配置编辑器中创建服务时,我现在得到一个不同的错误:
Could not load file or assembly 'SOLUTION_NAME, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
(澄清一下,我仍然可以在针对所有 CPU 时编译项目,但由于依赖关系而在运行时出错)
是否有人可以帮助我解决这个问题,所以我可以使用 WCF 服务配置编辑器中的向导添加 app.config 文件中定义的服务? (我认为,如果我在针对所有 CPU 时将服务添加到 WCF 服务配置编辑器中,那么之后我可以进行任何修改,而不管目标是什么)
【问题讨论】:
-
听起来您正在尝试与 WCF 服务交互,但没有使用“添加服务引用”对话框。它是否正确?如果是这样,您为什么不使用内置工具来执行此操作?
-
是的,我没有使用“添加服务参考”。我在 WinForms 项目中定义了服务,但我已经从另一个项目中复制了代码(我不希望它们链接)。但是,当我尝试使用“WCF 服务配置编辑器”(右键单击 app.config 文件时它位于上下文菜单中)配置 WCF 服务时,服务不可用于配置。因此,我尝试使用 WCF 编辑器中的向导添加它们。我不想在另一个项目中引用服务。
-
所以,如果我对您的理解正确,您正在将 WCF 服务项目(实际代码、项目文件等)添加到您的新解决方案中。虽然它可能并不严格相关,但您为什么要这样做? WCF 服务(以及一般的 OO)的要点是您只需设计一次并部署它以供所有人使用。似乎您正在为自己制造头痛,以便做一些对我来说没有意义的事情。如果您有充分的理由(我相信可能有),请不要费心为我辩解,只需告诉我“是的,我们考虑过”就足够了。
-
是的,正确,将服务代码添加到一个新项目中......目前它处于开发阶段,我需要一些更深入的集成,同时我正在开发最终的服务框架是的,我们考虑过了跨度>
-
:-) 很高兴知道。感谢您为我验证。我会做一些挖掘,看看我想出了什么。