我正在使用Visual Studio Express 2012.日志文件的位置在哪里?我搜索了存储我的解决方案和项目的文件夹,但找不到任何.log文件.
这是日志记录的配置:

如何从MSBuild向日志输出变量值?
我正在尝试调试MSBuild脚本,并希望将变量值输出到日志.
在Visual Studio中,您可以在C++项目中设置选项"Additional Manifest Files",以便将其他清单文件合并到默认应用程序清单中.
我们将此选项与共享的"兼容性清单"一起使用,该清单仅包含受支持的操作系统版本列表:
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/> <!--app support for Windows Vista -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/> <!--app support for Windows 7 -->
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/> <!--app support for Windows 8 -->
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/> <!--app support for Windows 8.1 -->
</application>
</compatibility>
</assembly>
Run Code Online (Sandbox Code Playgroud)
现在我们想将该共享清单嵌入到现有的WinForms/WPF应用程序中,以便它与现有的应用程序清单文件合并.这可能与C#项目有关吗?我们希望避免在每个项目中定义此操作系统列表.
我创建了一个构建后事件,以便在使用以下构建后脚本成功构建后对应用程序进行代码签名。
copy $(TargetPath) $(TargetDir)SignedApp.exe
signtool sign /t http://timestamp.verisign.com/scripts/timestamp.dll /a $(TargetDir)SignedApp.exe
Run Code Online (Sandbox Code Playgroud)
我收到错误 “signtool”未被识别为内部或外部命令。 因此,用于构建事件的路径似乎并未指向 signtool 实用程序。当我运行VS2013 x86 Native Tools Command Prompt 时,我可以运行 signtool,因为它包含一个指向:
C:\Program Files (x86)\Windows Kits\8.1\bin\x86
Run Code Online (Sandbox Code Playgroud)
我可以将此路径硬编码到我的构建事件中
"C:\Program Files (x86)\Windows Kits\8.1\bin\x86\signtool" sign /t http://timestamp.verisign.com/scripts/timestamp.dll /a $(TargetDir)SignedApp.exe
Run Code Online (Sandbox Code Playgroud)
然而,这似乎是不可移植的。如何在没有硬编码的情况下获得为本地命令提示符定义的相同路径以供我的后期构建事件使用?我查看了宏列表,但没有找到任何有用的。