最近我通过构建dll面临msbuild.exe的问题。我的想法是从DOS命令行调用msbuild来自动创建DLL,而无需打开MS Visual Studio。我使用的命令行(作为示例)是:
C:WindowsMicrosoft.NETFrameworkv4.0.30319MSBuild.exe C:example.sln /p:Configuration=example_config
问题是,即使我改变了这个项目中的文件(MS Visual Studio之外),似乎msbuild.exe无法识别更改,仍然根据旧文件输出旧的dll。
我也试图事先删除输出DLL,但仍然是相同的结果。从DOS的命令行传递旧的dll。
如果我打开Visual Studio并手动构建输出,问题就不会发生。
我在网上查了一下,但找不到一个可行的解决方案。有人说这可能是ms的问题,实际上,我在Windows XP下也没有遇到这个问题。
我使用
- 列表项
- windows 7 64位版本 MS Visual c++ 2010
- 解决方案包含几个子项目,这些子项目分别将库作为输出交付。
如果有人能帮忙,我将非常感激。
您可以通过从命令行调用Visual Studio 2010来构建项目。要在不打开Visual Studio的情况下构建,请调用"devenv.com"(命令行友好的Visual Studio可执行文件)来构建项目。关于devv命令行使用的更多信息可以在MSDN上找到。
自定义以下命令并从命令提示符运行它来构建项目:
"%VS100COMNTOOLS%..IDEdevenv.com" "full-path-to-solution" /Rebuild "desired-configuration" /Project "full-path-to-project"