无法构建JAIL

时间:2014-02-24 13:36:15

标签: c# visual-studio

我有一个应用程序,我正在尝试使用JSIL。为了做到这一点,我做了以下几点:

  1. 使用以下命令行命令下载代码:git clone --recursive https://github.com/sq/JSIL.git
  2. 在Visual Studio Premium 2013中打开JSIL.sln
  3. 重建整个解决方案。
  4. 当我这样做时,我遇到了1200多个错误。它们似乎都与缺少的参考文献有关。其中大部分似乎是:

    • 无法找到类型或命名空间名称“Mono”
    • 无法找到类型或命名空间名称“ICSharpCode”
    • 无法找到类型或命名空间名称“TypeSystem”
    • 无法找到类型或命名空间名称“MethodReference”
    • 'JSIL.Transforms.DecomposeMutationOperators.TypeSystem'是'字段',但用作“类型”
    • 无法找到类型或命名空间名称“FieldReference”

    有谁知道我错过了什么/做错了什么?这似乎是一个强大的工具(如果它正常工作)。我真的很想试一试。

    感谢您的任何见解。

2 个答案:

答案 0 :(得分:2)

您需要按照网页上的说明拉动git子模块。

git submodule update --init --recursive

如果您仔细查看编译错误,您会发现编译失败,因为您缺少项目文件(项目文件由子模块提供)。

拉入NuGet包不会解决这个问题,因为JSIL依赖于特定版本的Mono.Cecil和ILSpy;主干版本不起作用。

答案 1 :(得分:0)

如果项目的创建者使用了NuGet包管理器,那么这些引用应该很容易解决。

首先在Visual Studio中,转到文件菜单

  1. Tools - > Options - > Package Manager
  2. 检查Allow NuGet to download missing packages并申请。
  3. 完全重建。
  4. 如果这不能修复(或修复所有)缺少的引用,请使用Nuget数据包管理器...

    1. Tools - > Library Package Manager - > Manage NuGet Packages for Solution
    2. 选择Online并在搜索框中输入名称来搜索每个缺少的参考。
    3. ...找到Mono等缺失的项目,并根据需要将它们拉入项目中。