Visual studio &引用;“建立”;Windows资源管理器中的项目';VS解决方案文件的上下文菜单?

Visual studio &引用;“建立”;Windows资源管理器中的项目';VS解决方案文件的上下文菜单?,visual-studio,contextmenu,windows-explorer,shell-extensions,Visual Studio,Contextmenu,Windows Explorer,Shell Extensions,我想知道为什么默认情况下不集成此功能。我希望在Windows资源管理器的VS解决方案文件的文件上下文菜单中有一个项来构建它 有这个工具吗?或者我必须自己创建它吗?您可以使用MSBuild.exe按照 <path_to_msbuild_executable>\MSBuild.exe /p:Configuration="<config>" %1 \MSBuild.exe/p:配置=“1” 但是,您必须指定一个配置,然后将很难看到构建的所有输出。我不确定这会有多大意义 这将是相

我想知道为什么默认情况下不集成此功能。我希望在Windows资源管理器的VS解决方案文件的文件上下文菜单中有一个项来构建它


有这个工具吗?或者我必须自己创建它吗?

您可以使用
MSBuild.exe
按照

<path_to_msbuild_executable>\MSBuild.exe /p:Configuration="<config>" %1 \MSBuild.exe/p:配置=“1”
但是,您必须指定一个配置,然后将很难看到构建的所有输出。我不确定这会有多大意义

这将是相当高的维护,但并非不可能。打开Regedit.exe并找到HKCR\VisualStudio.csproj.9.0密钥。添加Build谓词,使其看起来类似于:

call "c:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86
msbuild %1
[HKEY\U CLASSES\U ROOT\VisualStudio.csproj.9.0\shell\Build]

[HKEY\U CLASSES\U ROOT\VisualStudio.csproj.9.0\shell\Build\Command] @=“cmd.exe/k c:\temp\build.bat%1”

cmd.exe/k命令将打开一个控制台窗口,以便您可以从生成中读取任何错误消息。c:\temp\build.bat文件的外观应该类似于:

call "c:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86
msbuild %1

您可能还希望将生成密钥添加到HKCR\VisualStudio.Launcher.sln,以便也可以生成解决方案。然而,这有点让版本维护头疼。

这里有一个VS2003和2005的项目。我想,在20080年和2010年也可以很容易地进行修改


MSBuild外壳扩展已经存在多年

但你也可以试试我的新项目

它很容易使用。

有一组注册表项可以做到这一点。

好主意,但你为什么需要它呢?因为它比打开解决方案并点击F6要快。特别是如果你有几个需要重建的解决方案。另外,我必须把它放在注册表的正确位置。我几乎不记得这很容易,但它仍然很麻烦。解决版本维护难题的一个可能方法是编写自己的启动器,自动解析csproj/sln/。。。文件,然后找到要使用的正确msbuild。这就是我希望在MSBuild启动板中实现的目标。对于任何试图在Windows 10中的Visual Studio 2019中实现此目标的糟糕sap,请注意
HKEY\u CURRENT\u USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.sln中的覆盖(此处描述)这将覆盖向关联菜单添加附加选项的功能,直到您将其删除。MSBuildShellExtension已恢复且v2.0已发布。是的,它复活了。但是你仍然可以在mPad中找到一些独特的东西。