标签: clearscript

无法在主机上找到Clearscript文件

像许多其他人一样,我在部署ASP.Net MVC应用程序时收到以下错误:

无法加载V8接口组件; 验证您的应用程序是否安装了以下文件:ClearScriptV8-32.dll,ClearScriptV8-64.dll,v8-ia32.dll,v8-x64.dll

安装Clearscript是为了在页面请求中动态转换较少的文件.

我已经在ISS Express和ISS本地测试了我的应用程序.

正如这里建议的那样http://clearscript3.rssing.com/chan-14849437/all_p12.html我还将缺少的代码库作为资源包含在我的项目中.

ClearScriptV8-32.dll,ClearScriptV8-64.dll,v8-ia32.dll,v8-x64.dll都包含在bin文件夹中的文件夹ClearScript.V8英寸 删除此文件夹无法解决问题.

在我的智慧结束.任何帮助表示赞赏.

deployment iis shared-hosting asp.net-mvc-4 clearscript

21
推荐指数
5
解决办法
1万
查看次数

将TypeScript编译器加载到ClearScript中,"WScript未定义",不可能完成任务?

我尝试使用ClearScript加载TypeScript编译器以编译一些基本的TypeScript代码.

不幸的是,在执行TypeScript编译器源时,我收到此错误:

'WScript'未定义

这是我使用的LINQPad程序,将ClearScript dll和TypeScript编译器文件放在.linq程序旁边:

void Main()
{
    using (var js = new Microsoft.ClearScript.Windows.JScriptEngine(Microsoft.ClearScript.Windows.WindowsScriptEngineFlags.DisableSourceManagement))
    {
        var typeScriptSource = File.ReadAllText(Path.Combine(Path.GetDirectoryName(Util.CurrentQueryPath), "tsc.js"));
        js.Execute(typeScriptSource);
        const string typeScriptCode = @"
            class Greeter {
                greeting: string;
                constructor(message: string) {
                    this.greeting = message;
                }
                greet() {
                    return ""Hello, "" + this.greeting;
                }
            }
            function test()
            {
                var greeter = Greeter(""world"");
                return greeter.greet();
            }
        ";
        js.Script.TypeScript.Compile(typeScriptCode);

        object result = js.Script.test();
        result.Dump();
    }
}

#region Copy ClearScript to correct location …
Run Code Online (Sandbox Code Playgroud)

.net c# windows-scripting typescript clearscript

7
推荐指数
3
解决办法
3125
查看次数

C#ConsoleApp中缺少ClearScriptV8-64.dll,v8-ia32.dll,v8-x64.dll

我想运行一个简单的clearscript程序。为此,我创建了一个新的ConsoleProject并通过nuget添加了引用。

创建引擎时(第一行代码)

  using (var engine = new V8ScriptEngine()) 
Run Code Online (Sandbox Code Playgroud)

我得到

未处理System.TypeLoadException _HResult = -2146233054
_message =无法加载V8接口程序集;验证您的应用程序是否安装了以下文件:ClearScriptV8-32.dll,ClearScriptV8-64.dll,v8-ia32.dll,v8-x64.dll

我只找到了dll:v8-ia32.dll,v8-x64.dll,但没有任何ClearscriptV8-*。dll

我将它们复制到了编译输出中,但是在运行console.exe时没有任何改变

我还从Github下载了软件包,但其中都没有包含这样的dll。我只有一个ClearScript.dll。

运行包含的控制台项目会引发相同的错误。

我从哪里获得这些dll?我想念什么?

我的项目输出文件夹如下所示: 在此处输入图片说明

我还运行了update V8命令。成功,但没有任何改变 在此处输入图片说明

然后我还安装了C ++ Redistribueable,如此处所述:在主机上找不到Clearscript文件

c# clearscript

5
推荐指数
1
解决办法
6290
查看次数

如何在运行时动态创建C#类(根据现有类)

背景:

我们有一个客户端(Javascript)和服务器端(C#)的项目.需要在两侧运行计算逻辑,因此它用Javascript和C#编写.我们为C#版本类进行了许多单元测试.我们的目标是分享C#和Javascript实现的单元测试.

现在的情况:

我们能够在嵌入式JS引擎(Microsoft ClearScript)中运行Javascript代码.代码如下所示:

public decimal Calulate(decimal x, decimal y) 
{
     string script = @"
            var calc = new Com.Example.FormCalculater();
            var result = calc.Calculate({0}, {1});";

     this.ScriptEngine.Evaluate(string.Format(script, x, y));

     var result = this.ScriptEngine.Evaluate("result");
     return Convert.ToDecimal(result);
}
Run Code Online (Sandbox Code Playgroud)

但是,编写这样的类需要付出很多努力.我们正在寻找一种在运行时动态创建这些类的方法.

例如,我们有一个C#类(在JS文件中也有JS版本):

public class Calculator {
    public decimal Add(decimal x, decimal y){ ... }
    public decimal Substract(decimal x, decimal y){ ... }
    public decimal Multiply(decimal x, decimal y){ ... }
    public decimal Divide(decimal x, decimal y){ ... }
}
Run Code Online (Sandbox Code Playgroud)

我们想要创建一个具有相同方法的动态类,但调用脚本引擎来调用相关的JS代码.

有可能吗?

javascript c# emit clearscript

5
推荐指数
1
解决办法
622
查看次数

Clearscript Javascript“需要”功能

我正在尝试为 Twilio 可编程聊天工具编写 C# 包装器。提供的库适用于 JS 客户端。我认为使用像 ClearScript (V8) 这样的工具可以让我根据需要包装 js。

网站上的示例代码是

const Chat = require('twilio-chat');

// Make a secure request to your backend to retrieve an access token.
// Use an authentication mechanism to prevent token exposure to 3rd parties.

const accessToken = '<your accessToken>';

Chat.Client.create(accessToken)
  .then(client => {
   // Use Programmable Chat client
});
Run Code Online (Sandbox Code Playgroud)

所以在我初始化之后

using (var engine = new V8ScriptEngine())
{
  engine.Execute(@"
    const Chat = require('twilio-chat.js');

    const token = 'my token';

    Chat.Client.create(token).then(client=>{
    });
  ");
 }
Run Code Online (Sandbox Code Playgroud)

“require”行上的程序错误,错误要求未定义。我读过 require …

c# clearscript twilio-programmable-chat

4
推荐指数
1
解决办法
1921
查看次数