Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 msbuild.exe赢得';t在文件更改后交付新输出_Visual Studio 2010_Msbuild_Solution - Fatal编程技术网

Visual studio 2010 msbuild.exe赢得';t在文件更改后交付新输出

Visual studio 2010 msbuild.exe赢得';t在文件更改后交付新输出,visual-studio-2010,msbuild,solution,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之外),msbu

最近,通过构建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

此外,我还试图事先删除输出DLL,但结果仍然相同。DOS的命令行提供了旧的dll

如果我打开VisualStudio并手动生成输出,那么问题就不会发生

我在网上查了一下,但找不到一个可行的解决办法。有人提到这可能是微软的问题。事实上,我在WindowsXP下也没有遇到这个问题

我正在使用

  • 列表项
  • Windows7 64位版本
  • MS Visual C++ 2010
  • 该解决方案包含几个子项目,这些子项目分别将库作为输出交付

如果有人能提供帮助,我将非常感谢。

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

自定义以下命令,并从命令提示符下运行该命令以生成项目:

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

当您说
MS Visio
时,您的意思是
MS Visual Studio
?请尝试在msbuild命令行中使用其他
/t:Rebuild
开关-抱歉,这是提示错误。我指的是微软的Visual Studio,不是绘图程序Visio我添加了这个开关,它可以工作,但是如果我让整个解决方案重新编译,它会花费太多的时间。我还尝试了:C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe C:\example.sln/p:Configuration/t:MySubProject:Rebuild。仍然会重新编译相同的整个解决方案。可能是因为“MySubProject”是我的“输出”项目。您可以只使用您的项目而不是
C:\example.sln
我得到错误:MSBUILD:error MSB4192:项目文件“C:\example.vcproj”是“.vcproj”或“.dsp”文件格式,MSBUILD无法直接生成该文件。我在“C:\Program Files(x86)”中找不到这个“devenv.com”\Microsoft Visual Studio 10.0\Common7\IDE“文件夹。它是一个可执行文件,例如“.exe”?您也可以调用
devenv.exe
,它应该位于Common7\IDE\文件夹中。