在单个VS2010项目中作为Windows服务,控制台应用程序或Wpf应用程序运行

时间:2012-07-03 14:34:34

标签: c# wpf visual-studio-2010 windows-services

我目前有3个项目,产生2个可执行文件

    1. 要做的工作的类库
    1. 使用库#1
    2. 的Windows服务项目
    1. 使用库#1
    2. 的WPF应用程序

类库用于执行一些客户端 - 服务器交互。

我想要的是只有2个项目,类库,以及另一个产生可以作为控制台,WPF或Windows服务运行的可执行文件的项目。这样做是否可能(或可取)?项目输出类型应该是什么?

主要原因是我们有自动脚本运行,期望一些固定的文件路径。我想避免必须复制WPF可执行文件和服务/控制台可执行文件的脚本。

3 个答案:

答案 0 :(得分:0)

我不确定是否可以执行WPF,但TopShelf将允许您将可执行文件作为控制台应用程序或服务运行。

http://topshelf-project.com/

有两种方法可以使用TopShelf - exe as a serviceusing shelving

要作为控制台应用程序运行,只需运行yourprogram.exe即可。 要作为服务安装,只需安装yourprogram.exe。

答案 1 :(得分:0)

我知道这个问题有点旧,但是......

您可以将新项目作为WPF项目启动,然后在解决方案资源管理器中右键单击它,并将“Start As”更改为控制台应用程序。您的WPF应用程序仍然会完全相同,但会出现一个控制台窗口,您可以在其中使用Console.WriteLine()个调用。

然后,您可以接受一个命令行参数,该参数告诉您的应用程序抑制UI的其余部分,只留下控制台部分。但我认为这不会允许它作为服务运行。

答案 2 :(得分:-3)

您必须选择Windows Communication Foundation(即WCF),点击链接以学习基础知识

http://msdn.microsoft.com/en-us/netframework/dd939784