Fre*_*ool 3 msbuild visual-studio
我已将以下AfterBuild任务添加到.vcxproj文件中:
<Target Name="AfterBuild">
<Message Text="Hi" Importance="high" />
</Target>
它似乎仅在构建 C++ 代码时才运行(或者如果我进行重建):
1>------ Rebuild All started: Project: ConsoleApplication1, Configuration: Debug Win32 ------
1> stdafx.cpp
1> SomeClass.cpp
1> ConsoleApplication1.vcxproj ->
1> Hi
D:\Projects\CppTest\Debug\ConsoleApplication1.lib
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
当 C++ 代码是最新时它不会运行:
========== Build: 0 succeeded, 0 failed, 1 up-to-date, 0 skipped ==========
我怎样才能让它永远运行?我正在使用 Visual Studio 2015。
我通过将以下几行添加到我的.vcxproj文件中解决了这个问题:
<PropertyGroup>
<DisableFastUpToDateCheck>true</DisableFastUpToDateCheck>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
它似乎强制 IDE 实际运行 MSBuild。
我在 Visual Studio 2015 中测试了它。将相同的行添加到导入的.targets文件中没有帮助。
线路
========== Build: 0 succeeded, 0 failed, 1 up-to-date, 0 skipped ==========
Run Code Online (Sandbox Code Playgroud)
意味着 Visual Studio 根本不运行 MSBuild。
对于增量构建,VS 使用文件跟踪器来拦截编译器和链接器正在执行的文件操作。结果可能会在ProjName .tlog 文件夹中出现错误。在后续构建中,VS 检查 .read 和 .write 文件中列出的文件的日期,并决定是否运行 MSBuild。此功能在 Hashimi S.、Bartholomew S. - 使用 MSBuild,第 2 版 - 2013 年“文件跟踪器”章节中进行了描述。
一些可能的解决方案:
| 归档时间: |
|
| 查看次数: |
3570 次 |
| 最近记录: |