在Visual Studio 2008项目属性的“应用程序”选项卡中,我可以将“输出”类型设置为“Windows应用程序”,“控制台应用程序”或“类库”。我有一个项目,我想构建一个独立的工具(控制台应用程序)和可用于我正在作为类库工作的其他几个工具。
VS GUI只允许我选择其中一个,并且一直两次构建项目是不方便的。
如何设置它以在单个构建作业中构建两种输出类型?我是否编写了一些自定义MSBuild .targets文件或什么?
答案 0 :(得分:18)
如果我没弄错的话,你可以将EXE用作课堂图书 只需在其他项目中添加对它的引用即可。 .NET EXE只是一个程序集。
答案 1 :(得分:4)
您可以默认构建dll,并创建另一个依赖目标,它只是一个使用dll的包装器控制台应用程序。
答案 2 :(得分:3)
创建两个单独的项目,一个用于您的控制台应用程序,另一个用于类库。为每个设置适当的输出类型。
不要忘记将类库的引用添加到Console应用程序项目中。
答案 3 :(得分:3)
您无法编译到exe和dll。程序集是作为exe还是dll处理是由文件的可移植可执行标头中的单个位标志确定的(有关详细信息,请参阅http://msdn.microsoft.com/en-us/magazine/cc301805.aspx)。此标志不能同时具有这两个值。
您可以做些什么来满足您的需求是添加对您的exe的引用。您无法在某些版本的Visual Studio(2005及更低版本)中执行此操作,因为UI不会让您,但您可以手动编辑项目文件以添加引用。 Visual Studio的更高版本允许您使用UI添加对exe文件的引用。
答案 4 :(得分:3)
我认为最简单的解决方案是构建为EXE,然后进行后构建操作,将EXE复制到DLL中。在.Net中,两者之间没有真正的区别。