用资源管理器右键编译 Visual Studio 解决方案文件

每次改动 VC 工程之后都要重新编译,每次 VS 又会生成调试数据库文件,很费时间,于是研究了一下如何在资源管理器中直接编译,还真发现了解决办法。

以下是适用 Visual Studio 2008 的注册表文件,导入系统之后右键点 .sln 文件就会出来编译的菜单了:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOTVisualStudio.Launcher.slnShell]

[HKEY_CLASSES_ROOTVisualStudio.Launcher.slnShellBuild Debug]
@="使用 VCBuild 编译 Debug(&D)"

[HKEY_CLASSES_ROOTVisualStudio.Launcher.slnShellBuild DebugCommand]
@="cmd.exe /K ""C:\Program Files\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild.exe" "%1" "Debug|Win32"""

[HKEY_CLASSES_ROOTVisualStudio.Launcher.slnShellBulild Release]
@="使用 VCBuild 编译 Release(&R)"

[HKEY_CLASSES_ROOTVisualStudio.Launcher.slnShellBulild ReleaseCommand]
@="cmd.exe /K ""C:\Program Files\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild.exe" "%1" "Release|Win32"""

自 Visual Studio 2010 开始,微软使用 MSBuild 取代了 Visual C++ 的 VCBuild,所以方法有些不同:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOTVisualStudio.Launcher.slnShell]

[HKEY_CLASSES_ROOTVisualStudio.Launcher.slnShellBuild Debug]
@="使用 MSBuild 编译 Debug(&D)"

[HKEY_CLASSES_ROOTVisualStudio.Launcher.slnShellBuild DebugCommand]
@="cmd.exe /K "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /m "%1" /p:Configuration=Debug /t:Build""

[HKEY_CLASSES_ROOTVisualStudio.Launcher.slnShellBulild Release]
@="使用 MSBuild 编译 Release(&R)"

[HKEY_CLASSES_ROOTVisualStudio.Launcher.slnShellBulild ReleaseCommand]
@="cmd.exe /K "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /m "%1" /p:Configuration=Release /t:Build""

VS2013中右键编译CSharp项目

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOTVisualStudio.Launcher.csproj.12.0Shell]

[HKEY_CLASSES_ROOTVisualStudio.Launcher.csproj.12.0ShellBuild Debug]
@="使用 MSBuild 编译 Debug(&D)"

[HKEY_CLASSES_ROOTVisualStudio.Launcher.csproj.12.0ShellBuild DebugCommand]
@="cmd.exe /K "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /m "%1" /p:Configuration=Debug /t:Build""

[HKEY_CLASSES_ROOTVisualStudio.Launcher.csproj.12.0ShellBulild Release]
@="使用 MSBuild 编译 Release(&R)"

[HKEY_CLASSES_ROOTVisualStudio.Launcher.csproj.12.0ShellBulild ReleaseCommand]
@="cmd.exe /K "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /m "%1" /p:Configuration=Release /t:Build""

VS2013中右键编译CPP项目

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOTVisualStudio.Launcher.vcxproj.12.0Shell]

[HKEY_CLASSES_ROOTVisualStudio.Launcher.vcxproj.12.0ShellBuild Debug]
@="使用 MSBuild 编译 Debug(&D)"

[HKEY_CLASSES_ROOTVisualStudio.Launcher.vcxproj.12.0ShellBuild DebugCommand]
@="cmd.exe /K "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /m "%1" /p:Configuration=Debug /t:Build""

[HKEY_CLASSES_ROOTVisualStudio.Launcher.vcxproj.12.0ShellBulild Release]
@="使用 MSBuild 编译 Release(&R)"

[HKEY_CLASSES_ROOTVisualStudio.Launcher.vcxproj.12.0ShellBulild ReleaseCommand]
@="cmd.exe /K "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /m "%1" /p:Configuration=Release /t:Build""

 其他VS版本就自己对着注册表修改就是了,很方便。

注意:使用 MSBuild 的时候会检查环境变量“Platform”,如果不确定配置的是否正确,建议删除该环境变量即可(安装完 Visual Studio 会默认该变量指为 BNB,导致 MSBuild 无法正确编译,但若启动 Visual Studio IDE 来编译则不会存在此问题)。

原文地址:https://www.cnblogs.com/zjoch/p/4423970.html