MSBuild编译目标为一个类生成一个dll?

时间:2011-07-20 08:41:14

标签: msbuild msbuild-task msbuild-4.0 msbuild-buildengine

我有一个VB类,当我运行时:

msbuild /t:Compile

它为包含该类的已编译代码的应用程序生成Exe。

我想在myfolder文件夹中为我的VB类创建一个单独的dll。

What extra arguments do I have to pass, in order to get my dll in myfolder ?

任何帮助表示赞赏!!

3 个答案:

答案 0 :(得分:3)

如果您遵循MSBuild脚本的标准Visual Studio约定(您可能也是如此),则单个.vbproj映射到单个输出程序集(.exe.dll) 。输出格式由OutputType属性设置。要生成两个输出程序集,您需要创建两个项目文件,并使用解决方案文件将它们绑定在一起(您可以使用Visual Studio生成它,然后使用MSBuild从命令行进行编译),或者您可以创建一个{ {1}}文件捆绑它们。这样的捆绑项目看起来如下:

.proj

答案 1 :(得分:1)

这可以通过调用MSbuild的编译任务来完成。

因此,编写一个使用VBC编译器任务将类编译为dll的任务就可以了。

休息,默认的编译任务将为主模块生成exe。

就是这样!

答案 2 :(得分:0)

您应该将项目分成2个项目。 1).EXE包含你的main()和2)包含所有的库类。然后,.EXE项目引用.DLL项目。

重建同一个项目两次以获得.dll和.exe非常奇怪。为什么不干净地分开顾虑?