c# - 如何在 Mono 开发(Ubuntu、Linux)中将 Saltarelle C# 设置为 JavaScript 编译器

标签 c# javascript linux compiler-construction monodevelop

我尝试使用 Saltarelle C# Compiler在 Mono 中的默认控制台项目上

using System;

namespace SaltarelleConsoleTest
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            Console.WriteLine ("Hello World!");
        }
    }
}

但是当我尝试用终端命令编译它时

mono lib/Saltarelle.Compiler/tools/sc.exe -reference:lib/Saltarelle.Runtime/tools/Assemblies/mscorlib.dll Main.cs -outscript:bin/main.js

发生此错误:

Unhandled Exception: System.TypeLoadException: Could not load type 'Saltarelle.Compiler.Program' from assembly 'sc, Version=1.5.0.0, Culture=neutral, PublicKeyToken=a4048e8fcc593f14'.
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeLoadException: Could not load type 'Saltarelle.Compiler.Program' from assembly 'sc, Version=1.5.0.0, Culture=neutral, PublicKeyToken=a4048e8fcc593f14'.

我做错了什么?有没有人成功地使用 Saltarelle(或任何其他 C# 到 Javascript 编译器,如 Script#)设置了 Mono-Develop

最佳答案

我试过你的例子,结果如下:

Main.cs(9,13): error CS0103: The name `Console' does not exist in the current context

考虑到 Saltarelle 的 System 命名空间没有 Console 类型,这是正确的。我不知道为什么它给你未处理的异常,你使用的是什么版本?

Saltarelle 是一个不依赖于 Mono 或 Visual Studio 的外部编译器,尽管您可以将 IDE 配置为在编译项目时调用它。

关于c# - 如何在 Mono 开发(Ubuntu、Linux)中将 Saltarelle C# 设置为 JavaScript 编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13718787/

相关文章:

c# - 当属性具有 IDictionary<string, string> 时反序列化对象

c# - 在数据库中存储数组的最佳方式

javascript - 无法使用 JQuery 使多行可编辑

linux - 将物理USB端口关联到设备

c# - LoadLibrary 在 Vista x64 下失败

c#连续读取文件

javascript - 如何在 THREE.js 中生成粒子系统

javascript - 使用 DT(DataTables 按钮扩展)导出表时保持格式

linux - 作为命令执行的 shell 参数

linux - 在 shell 中反转单词