【发布时间】:2018-12-19 17:01:43
【问题描述】:
我有一个使用 C#、Visual Studio 的 WCF 项目。当我想在调试模式下启动我的项目时,出现以下错误:“无法从命令行或调试器启动服务......”。我不应该使用 installutil 程序安装我的服务。
在我的代码中,我有一个用于在调试模式下启动程序以防止出现此错误的包装器:
#if DEBUG
MyService service = new MyService();
service.MyMethod();
#else
ServiceBase[] services;
services= new ServiceBase[]
{
new MyService()
};
ServiceBase.Run(services);
#endif
但错误仍然存在。它在进入方法 MyMethod() [F11] 之前出现
【问题讨论】:
-
基本上,如果
ServiceBase.Run真的没有被调用,你不会看到你看到的错误。尝试在#if DEBUG代码中设置断点;确保它实际运行。除此之外,请查看this 了解更多信息。 -
您在此处提到的代码在调试模式下应该可以正常工作。从我的角度来看,最好的方法是将业务逻辑移动到单独的项目中并拥有单独的控制台应用程序来测试逻辑