如何在 VS 2015 中启用 C# 脚本?

2023-12-21

如何配置 VS 2015 以启用 Roslyn 的 C# 脚本功能?

我尝试安装各种 Nuget 包,包括 Microsoft.CodeAnalysis.CSharp、Microsoft.CodeAnalysis.Scripting.CSharp 等的 1.0 和 1.1.0-beta1 版本,但我无法获得任何示例我找到了在线工作。我收到“未找到类型”错误,即

var scriptEngine = new ScriptEngine();

...失败,因为找不到类型“ScriptEngine”。

有人可以提供食谱,其中包括要安装哪些 nuget 包、需要哪些 using 语句等来实现 Roslyn 脚本吗?

更新#1:

我已经取得了一些进展,但仍然存在问题。我收到一堆编译器警告,然后出现 TypeInitilizationException,这显然是由于组件版本不匹配造成的。

我现在使用以下示例代码(取自测试),并且没有丢失类型:

using System;  
using Microsoft.CodeAnalysis.Scripting.CSharp;  

namespace RoslynScriptingTest {  
   class Program {  
      static void Main(string[] args) {  
         var script = CSharpScript.Create("1 + 2");  
         var fn = script.CreateDelegate();  
         var value = fn();  
         Console.WriteLine("value={0}", value.ToString());  
      }  
   }  
}  

我已经加载了所有可用的夜间套餐https://www.myget.org/F/roslyn-nightly/ https://www.myget.org/F/roslyn-nightly/.

我收到一系列涉及 Microsoft.CodeAnalysis v1.1.0.0 的构建警告。

尽管出现警告,但运行 exe 会产生上述 TypeInitilizationException。根据堆栈跟踪,TypeInitializationError 是由 System.Reflection.Metadata.dll 版本不匹配引起的。

我不知道从这里该去哪里。我不明白与脚本相关的包/组件如何组合在一起。我看到今年早些时候的一些帖子完整地描述了 Roslyn 的构建。我还没有这样做。有必要吗?

这让我想起了过去的 DLL 地狱。


脚本 API 仍在开发中,并已从发行包中删除。

尝试一下睡前夜。

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

如何在 VS 2015 中启用 C# 脚本? 的相关文章

随机推荐

  • 不支持 PostgreSQL 身份验证方法 10

    我正在尝试遵循使用 PostgreSQL 的diesel rs 教程 https diesel rs guides getting started 当我进入 Diesel 设置步骤时 收到 不支持身份验证方法 10 错误 我该如何解决 您必
  • StructureMap:如何为其所有接口注册相同的实例

    StructureMap新手问题 public class SomeClass IInterface1 IInterface2 我希望通过以下测试 Assert AreSameInstance container GetInstance
  • WPF MVVM - 将 UserControls 上的属性绑定到容器的 ViewModel

    我有一个窗口 MainWindow xaml 其中有一个ViewModel MainWindowViewModel cs 我还有一个名为 MyUserControl xaml 的 UserControl 它也有一个相应的 ViewModel
  • PHP MYSQL $行[$变量]

    我正在尝试解决动态表创建和数据获取问题 我正在尝试使用以下代码获取数据 myQuery SELECT col name FROM tabname WHERE sampleid sid result mysql query myQuery r
  • VB.Net 中的空合并运算符(8)

    恐怕这是一个愚蠢的问题 但我必须假设我已经编写 VB Net 太长时间了 现在不知道如何转换它C 空合并运算符 http msdn microsoft com en US library ms173224 28v vs 80 29进入VB
  • Android Java - Joda Date 速度慢

    在 Android 上使用 Joda 1 6 2 以下代码挂起大约 15 秒 DateTime dt new DateTime 最初发布此帖子Android Java Joda Date 在 Eclipse 模拟器中运行缓慢 https s
  • 长按后启用 ScrollView 中元素的拖动

    我已经用 panResponder 和 ScrollView 实现了拖放列表 我希望即使在触摸该项目时也能够滚动列表 问题是当我做滚动手势时该项目会移动 当然 我也希望能够移动该项目 但现在它具有与滚动相同的手势 我想通过仅在长按 1 5秒
  • 如何循环非默认构造类的 boost MPL 列表?

    我有以下示例 include
  • Sqlite从多个表中选择*

    我真的需要一些有关 sqlite 的帮助 我有一个数据库 有两个表 我们称它们为 table1 和 table2 这两个表基本相同 列名相同 列数相同 第一列是文本 其余列是双列 这适用于两个表 我不想将它们合并到一张表中 如果出现通常应该
  • 限制 Prolog 中的搜索 - Magic Square

    我想用 Prolog 程序求解最完美幻方 维基页面 https en wikipedia org wiki Most perfect magic square https en wikipedia org wiki Most perfect
  • 将文本垂直对齐到框的底部?

    我制作了盒子并设置了行高 文本自动垂直居中 有没有一种方法或任何技巧可以将文本设置在框的底部 div width 100px height 100px background eee color 333 text align center l
  • 在 CQRS 的写入端从数据库读取数据

    背景 Diagrams explaining CQRS usually will have clear separation of read and write paths and one way data flow like in thi
  • 如何使用 style.xml 文件中的样式(以及所有其他样式)创建无边框按钮

    我正在尝试创建一个无边框按钮 但我的按钮还有许多其他样式 并且我想通过将代码嵌入到 style xml 文件中来设计无边框按钮 我发现的一种方法是 通过在我的布局文件中使用 style android attr borderlessButt
  • “此安装不支持该项目类型”错误

    我在 W2k3 操作系统上安装了 VS 2008 SP1 在我安装 ASP NET MVC beta 并尝试创建 ASP NET MVC 类型项目后 出现以下错误 此安装不支持该项目类型 如果您已解决此问题 请告诉我 我尝试了这里发布的一些
  • 将 DataGrid 视图转换为 DataSet/DataTable 的最佳方法

    DataSet DataTable and LINQ表达式是常见的DataSource的值DataGridView 现在反过来 是否可以传递 绑定DataGridView记录到DataSet or DataTable Thanks 你可以这
  • 将 RDS 数据导出到 S3/Glacier

    我想将数据从 Oracle RDS 导出到 S3 然后将其移动到 Glacier 我的最终目标是将 RDS 中存储的数据备份到 S3 和 Glacier 以满足合规性要求 任何人都可以建议实现它的最佳方法 RDS 快照存储在 s3 中 但您
  • 生成订单号的好算法

    尽管我喜欢使用 GUID 作为系统中的唯一标识符 但对于订单号等字段来说 它并不是很用户友好 客户可能必须向客户服务代表重复该字段 有什么好的算法可以用来生成订单号 以便它是 Unique 非连续 纯粹用于光学 仅数字值 因此可以通过电话轻
  • 使用 file_get_contents 来验证和访问受 htaccess 保护的文件[重复]

    这个问题在这里已经有答案了 我需要访问受常规 htaccess 文件 身份验证类型 Basic htpasswords 等 保护的外部 php 页面 我想通过请求发送所需的用户名和密码 是否可以 我想避免cURL和所有pecl http如果
  • 添加项目依赖后出错

    我使用 Gradle 构建多个项目 布局如下 ares build gradle ares settings gradle ares ares gui build gradle ares ares persistence build gra
  • 如何在 VS 2015 中启用 C# 脚本?

    如何配置 VS 2015 以启用 Roslyn 的 C 脚本功能 我尝试安装各种 Nuget 包 包括 Microsoft CodeAnalysis CSharp Microsoft CodeAnalysis Scripting CShar