如何从 Visual Studio 宏获取 msbuild 路径?
我正在尝试创建一个上下文菜单项,它将在某些扩展上运行 msbuild。 我找到了将检查解决方案资源管理器中当前所选项目的扩展名的宏。
我剩下要做的就是在该文件上运行 msbuild。我不想对路径进行硬编码。 所以我认为必须有一种方法来获取当前加载的解决方案的 msbuild 路径。
I am trying to create a context menu item that will run msbuild on certain extensions.
I've found the macro that will check for the extension of the currently selected item in the solution explorer.
All I have left to do is run msbuild on the file. I don't want to hard code the path.
So I'm thinking there has to be a way to get the path to msbuild path for the currently loaded solution.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用保留属性
$(MSBuildToolsPath)
,它将解析为类似以下内容,具体取决于 .NET 版本:还有 $(MSBuildExtensionsPath) 系列属性(包括 32 位和 64 位特定属性)那些)将指向:
- 来自书“MSBuild Trickery”技巧#19和#43
编辑:添加宏代码以提取
以下Visual Studio宏将枚举所有当前属性,包括$(MSBuildToolsPath)、$(MSBuildToolsRoot) 和 $(MSBuildToolsPath32),最后一个可能仅在 64 位计算机上,我不确定。
Use the reserved property
$(MSBuildToolsPath)
, which will resolve to something like this, depending on the .NET version:There is also the $(MSBuildExtensionsPath) family of properties (including 32 and 64-bit specific ones) that will point to:
-- from the book "MSBuild Trickery" tricks #19 and #43
edit: adding macro code to extract
The following Visual Studio Macro will enumerate all of the current properties, including $(MSBuildToolsPath), $(MSBuildToolsRoot) and $(MSBuildToolsPath32), the last one maybe only on a 64-bit machine, I'm not sure.