我使用的是自定义生成步骤复制内置DLL(即$(TARGETPATH))一个C++项目到磁盘上的不同位置。的Visual Studio:如何只运行自定义生成步骤时“必要的”
我已经设置了自定义生成步骤到目的地DLL的路径的Output
,并Additional Dependencies
到$(TargetPath)
- 文件我拷贝,希望对VS将仅运行步骤如果源DLL较新比目标DLL。但是,每次构建项目时,VS都会运行自定义构建步骤 - 因此它似乎无法分辨不需要执行该副本(源DLL(TargetPath)未更改) 。我必须配置错误的步骤。
什么设置会给我想要的行为(即 - VS将项目视为最新的(如果它已构建并且自定义构建步骤成功)?
在VS输出窗口中,我看到这行似乎暗示Visual Studio正在将vcxproj作为触发构建步骤的文件。我希望它使用$(TARGETPATH):
Input file "MyProject.vcxproj" is newer than output file "c:\custom\build\step\copies\the\dll\here.dll".
(PS:我补充一下,我最初使用后生成步骤,但如果失败,VS关于项目的顺利建成,并当你建立第二次时不再运行它)
我不这么认为。我在Visual Studio项目中,所以构建目标已经被定义为构建的DLL。 – mackenir