文件更改后,msbuild.exe将不会传递新输出

时间:2013-04-09 10:49:10

标签: visual-studio-2010 msbuild solution

最近我通过构建一个dll来面对msbuild.exe的问题。我的想法是从DOS命令行调用msbuild来自动创建DLL而无需打开MS Visual Studio。我使用的命令行(例如)是:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe C:\example.sln  /p:Configuration=example_config

问题是,即使我更改了此项目中的文件(在MS Visual Studio之外),似乎msbuild.exe无法识别更改并仍然根据旧文件输出旧的dll。 / p>

另外我试图预先删除输出DLL,但结果仍然相同。来自DOS的命令行传递了旧的DLL。

如果我打开Visual Studio并手动构建输出,则不会出现问题。

我在网上查了一下,但找不到可行的解决办法。有人提到它可能是MS的问题。实际上,我在Windows XP下也没有遇到这个问题。

我正在使用

  • 列表项
  • Window 7 64位版本
  • MS Visual C ++ 2010
  • 该解决方案包含多个子项目,这些子项目分别将libary作为输出。

如果有人可以提供帮助,我将非常感激。

1 个答案:

答案 0 :(得分:1)

您可以通过从命令行调用Visual Studio 2010来构建项目。要在不打开Visual Studio的情况下进行构建,请调用“devenv.com”(命令行友好的Visual Studio可执行文件)来构建项目。有关devenv命令行使用的更多信息可以是found on MSDN

自定义以下命令并从命令提示符运行它以构建项目:

"%VS100COMNTOOLS%..\IDE\devenv.com" "full-path-to-solution" /Rebuild "desired-configuration" /Project "full-path-to-project"