VS解决方案文件的Windows资源管理器上下文菜单中的“构建”项?
Posted
技术标签:
【中文标题】VS解决方案文件的Windows资源管理器上下文菜单中的“构建”项?【英文标题】:"Build" item in Windows Explorer's context menu of a VS solution file? 【发布时间】:2011-02-19 11:19:36 【问题描述】:我想知道为什么默认情况下不集成。我想在 VS 解决方案文件的 Windows 资源管理器的文件上下文菜单中有一个项目来构建它。
有这方面的工具吗?还是我必须自己创建?
【问题讨论】:
好主意,但你为什么需要它? 因为它比打开解决方案并按 F6 更快。特别是如果您有几个解决方案需要重新构建。 【参考方案1】:MSBuild Shell 扩展已存在多年,
http://msbuildshellex.codeplex.com/
但你也可以试试我的新项目,
http://msbuildlaunchpad.codeplex.com/releases/view/45368
它很容易使用。 MSBuild Launch Pad http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=msbuildlaunchpad&DownloadId=122261
【讨论】:
MSBuildShellExtension 已恢复,v2.0 已发布。 msbuildshellex.codeplex.com 是的,它复活了。但是你仍然可以在 mPad 中找到一些独特的东西。【参考方案2】:这将是相当高的维护,但并非不可能。打开 Regedit.exe 并找到 HKCR\VisualStudio.csproj.9.0 项。添加 Build 动词,使其看起来类似于:
[HKEY_CLASSES_ROOT\VisualStudio.csproj.9.0\shell\Build]
[HKEY_CLASSES_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
您可能还希望将 Build 密钥添加到 HKCR\VisualStudio.Launcher.sln,以便您也可以构建解决方案。然而,这有点让人头疼。
【讨论】:
版本维护头痛的一个可能解决方案是编写您自己的启动器,它会自动解析 csproj/sln/... 文件,然后找到要使用的正确 msbuild。这就是我想在 MSBuild Launch Pad 中实现的目标。 对于尝试在 Windows 10 的 Visual Studio 2019 中执行此操作的任何可怜的 sap,请注意HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.sln
(此处描述为 superuser.com/questions/1424724/…)中的覆盖,这将覆盖添加附加选项的能力上下文菜单直到你删除它。【参考方案3】:
这是一个为 VS 2003 和 2005 做的项目。我想它也可以很容易地在 20080 和 2010 年进行更改。
http://www.codeproject.com/KB/winsdk/VS_BuildHere.aspx
【讨论】:
【参考方案4】:你也许可以使用MSBuild.exe
来做一些事情
\MSBuild.exe /p:Configuration=" " %1
但是,您必须指定一个配置,然后就很难看到构建的所有输出。我不确定这是否有意义。
【讨论】:
另外,我必须把它放在注册表中的正确位置。我几乎不记得这很容易,但这仍然很麻烦。【参考方案5】:在http://www.nerdpad.com/windows/msbuild-context-menu-build-net-projectsolution-from-explorer 有一组注册表项可以执行此操作。
【讨论】:
以上是关于VS解决方案文件的Windows资源管理器上下文菜单中的“构建”项?的主要内容,如果未能解决你的问题,请参考以下文章
VS团队资源管理器(VS自带git)使用说明_使用VS自带git推送到远程存储库
用vs2010制作了c#windows窗体程序,但打包时在解决方案资源管理器窗口中找不到解决方案无