Roslyn:如何从当前加载的解决方案中获取对工作区的引用?

2023-11-29

我试图获取对当前加载的工作区的引用,但没有成功。根据文档(粗体部分)我应该能够获得它的参考。

工作区 API 位于 Roslyn.Services 命名空间中,并且 如果您包含以下 using 指令,则它们可用:

使用 Roslyn.Services;

通常会提供您使用的工作空间直接由主机 环境(例如 Visual Studio IDE)。不过,你可以工作 通过构建您的主机环境之外的工作区 自己的 IWorkspace 实例。

您可以通过加载解决方案文件来构建工作区。

IWorkspace 工作区 = Workspace.LoadSolution(@"HelloWorld.sln"); ISolution 解决方案=工作区.CurrentSolution;

我尝试在单元测试中进行以下操作,但工作区为空。

  IWorkspace workspace = Workspace.PrimaryWorkspace;

  ISolution solution = workspace.CurrentSolution;

我不想加载解决方案,我想在当前加载的解决方案中工作。它是如何完成的?我正在使用 Visual Studio 2012。

Edit:

尝试按照答案中的建议使用开关 /rootSuffx Roslyn ,VS 抛出一个错误,表明它是无效开关。将其更改为 /rootSuffix Roslyn,VS 启动但工作区仍然为空。


正如达斯汀坎贝尔在他的回答中所描述的:如何在 VSPackage 中使用 Workspace.PrimaryWorkspace.CurrentSolution

仅当启用 Roslyn C# 和 Visual Basic 语言服务时,才会填充 Visual Studio 内部的主工作区。

要启用 Roslyn 语言服务,您需要使用以下命令启动 VS:

devenv.exe /rootSuffix Roslyn
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Roslyn:如何从当前加载的解决方案中获取对工作区的引用? 的相关文章

随机推荐

  • facebook $facebook->getSignedRequest();错误

    我正在尝试将此脚本添加到我在 facebook 上的 iframe 应用程序中 但它似乎不起作用 signed request facebook gt getSignedRequest like status signed request
  • 在play框架中填充html下拉列表[重复]

    这个问题在这里已经有答案了 可能的重复 在 Play Framework 2 0 模板中使用选项帮助器 正常的html代码
  • 纯Python逆误差函数

    有没有纯Python逆误差函数的实现 我知道 SciPy 有scipy special erfinv 但这依赖于一些 C 扩展 我想要一个纯 python 实现 我尝试使用自己编写维基百科 and Wolfram引用 但当 arg gt 0
  • Windows Phone 8 中的弹出窗口

    我想显示一个弹出窗口 其中媒体元素作为一个控件 当用户单击按钮时 我必须显示此弹出窗口 当用户单击设备的后退按钮时 应关闭弹出窗口 请帮助我如何在 Windows Phone 8 应用程序中执行此操作 带 MediaElement 的弹出窗
  • Wordpress 中的 Google 地图 API Javascript

    希望大家能够回答这个问题 我认为这应该相对容易 但我似乎无法掌握它 如何在 WordPress 帖子 页面中加载 Google Maps API Javascript WordPress Codex 似乎建议在主题标题中引用您的 javas
  • 计算十六进制字符串的二进制补码校验和

    我有一个字符串 0AAE0000463130004144430000 我需要计算组成该字符串的十六进制字节的二进制补码校验和 上面示例字符串的公式为 对值求和 0A AE 00 00 46 31 30 00 41 44 43 00 00 2
  • multiprocessing.Queue 作为池工作程序的参数中止工作程序的执行

    我实际上发现很难相信我遇到了我遇到的问题 这似乎是 python 多处理模块中的一个大错误 无论如何 我遇到的问题是每当我通过将 multiprocessing Queue 作为参数传递给 multiprocessing Pool 工作线程
  • Python get 获取矩阵中具有 na 值的邻居的平均值

    我有非常大的矩阵 所以不想通过遍历每一行和每一列来求和 a 1 2 3 3 4 5 5 6 7 def neighbors i j a return a i j 1 a i j 1 len a 0 a i 1 j a i 1 len a j
  • 处理 Rails 3 中的 has_one 嵌套资源

    我有一个用户模型和一个关于模型 关于模型是一个页面 用户可以在其中获得有关他们的更多信息 由于其性质 将其放在单独的模型上而不是在用户模型中更合适 我希望能够将其路由到 username about 之类的内容 并让所有动词在该路径上工作
  • 如何检测 Angular 中的路由变化?

    我正在寻找检测我的路线变化AppComponent 此后 我将检查全局用户令牌以查看用户是否已登录 以便在用户未登录时可以重定向用户 在 Angular 2 中你可以subscribe Rx 事件 到 Router 实例 所以你可以做类似的
  • 在 matplotlib 中显示所有数据集的固定宽度条形

    我有以下数据集 我需要绘制 1 2 或所有数据集的条形图 当我绘制单个数据项的图表时 例如 xdata 0 and ydata 1000 xlabels first 条形图会缩放以占据整个绘图区域 如何将条形图宽度限制为 0 45 ydat
  • 使用 vb.net 在 SQL 中保存日期

    我使用以下代码保存文本框中的日期并使用日期选择器选择日期 If String IsNullOrEmpty DobTxt Text Then SQLCmd Parameters Add DOB SqlDbType Date Value DBN
  • 如何去掉 JavaScript 代码文本框中的 NaN?

    我正在尝试制作一个三角形缺腿计算器 首先你放一条腿 即斜边 然后你就会得到缺失的腿 但是 如果您先填写第二个框 它会显示 NaN 我知道它没那么重要 但是有没有办法摆脱它 让它显示 0 直到两个盒子都填满为止 这是代码
  • 将 matlab 矩阵转换为向量

    我想在预定义位置获取 Matlab 矩阵的元素向量 例如 我有以下内容 gt gt i 1 2 3 gt gt j 1 3 4 gt gt A 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 A 1 2 3 4
  • Trello.Net 授权有效,但授权后无法访问数据

    我是新来的Trello Net并在授权方面遇到了一些困难 我了解请求 URL 然后要求用户浏览该 URL 以获取令牌的过程 第一个问题是我正在尝试编写一个无需任何 UI 即可自动运行的进程 因此 我必须使用硬编码令牌 该令牌是通过运行此代码
  • 为 Outlook 2010 构建插件时 FindRibbons 任务意外失败

    我们正在使用 VS2013 NET4 Microsoft Async 和 BCL Portability 来自 Nuget 构建 Outlook 2010 插件 并遇到类似于以下内容的构建错误这个问题 and 本次论坛讨论不幸的是 这些资源
  • 使用从笛卡尔空间和世界文件生成的纬度和经度计算多边形面积

    给定一系列 GPS 坐标对 我需要计算多边形 n 边形 的面积 这是相对较小的 不大于 50 000 平方英尺 地理编码是通过对世界文件中的数据应用仿射变换来创建的 我尝试使用两步方法将地理编码转换为笛卡尔坐标 double xPos lo
  • 熊猫合并两个数据帧求和值[重复]

    这个问题在这里已经有答案了 假设我有两个带有部分重复条目的数据帧 source1 pandas DataFrame key a b value 1 2 key value 0 a 1 1 b 2 source2 pandas DataFra
  • 在 PhpStorm 中打开和关闭 HTML 标签时添加自动注释

    我想添加 HTML 注释 div class div 以及他们各自的 div s 例如 假设我有一个 div class main container 我想在它之后立即发表评论 然后在其之后 div 我想要一个 一切都会是什么样子的一个例子
  • Roslyn:如何从当前加载的解决方案中获取对工作区的引用?

    我试图获取对当前加载的工作区的引用 但没有成功 根据文档 粗体部分 我应该能够获得它的参考 工作区 API 位于 Roslyn Services 命名空间中 并且 如果您包含以下 using 指令 则它们可用 使用 Roslyn Servi