有没有办法(或者有人能找到方法)将IronScheme导入VS2010?我已经看过这个问题了,我已尽我所能 - 我甚至编辑了所涉及的二进制文件以更改版本号.我的问题:有没有人有解决方案将IronScheme安装到VisualStudio 2010中?目前,按照安装到VS2008的指示对VS2010不起作用.提前致谢 :)
更新1:我想我应该发布当我尝试按照命令行安装它的说明时得到的错误:
C:\Program Files\IronScheme>RegPkg.exe /codebase "C:\Program Files\IronScheme\IronScheme.VisualStudio.dll"
Run Code Online (Sandbox Code Playgroud)
运行之后,我收到Windows 7弹出窗口错误:
RegPkg.exe已停止工作 - Windows正在检查问题的解决方案...
当我点击它时,它在控制台上给我这个错误:
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.VisualStudio.Shell.9.0, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
File name: 'Microsoft.VisualStudio.Shell.9.0, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a'
at Microsoft.VisualStudio.Tools.RegPkg.Main(String[] arguments)
WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There …Run Code Online (Sandbox Code Playgroud) scheme visual-studio-2010 ironscheme visual-studio visual-studio-2012
根据维基百科:"IronScheme,即将推出的Scheme实施,计划在DLR上构建,但决定放弃这个想法,因为DLR分支所使用的项目与主干不同步,也因为DLR,根据开发商,无法支持该计划的大部分要求"
有谁知道哪些要求没有实现,为什么?
在"IronPython in Action"一书中,作者指出,与CPython不同,IronPython受益于CPython无法利用的JIT和框架本身的某些优化.因此,IronPython可能比CPython更快,特别是对于多线程场景.
IronScheme是否会受益于此类优化?它是一个解释器(不是编译器),它是一个解释器,因为这是Lisp的本质,它必须被解释为提供类似Lisp的灵活性?如果它是一个解释器,它仍然可以从抖动优化中受益吗?
所以基本上我不是在这里比较Scheme和Clojure,我想比较一下实现.有:
Clojure-clr,即使使用Visual Studio扩展也可以安装,但我仍然有点用这种方式使用它.创建并保存此类项目后,无法再次打开它...
而IronScheme,就我所知,还没有针对IronScheme的VS插件,但也许它得到了更好的.NET支持,我从未使用它,也无法了解它.
那么这两个(或者甚至还有其他类似lisp语法的东西)得到了更好的CLR支持?
我正在尝试为我的C#应用添加插件架构.我选择了IronScheme作为语言,也因为它是基于DLR构建的,这样可以更容易嵌入.
在Codeplex Wiki上,他们有以下示例.我稍微改了一下:
public class PluggerInner
{
IScriptEngine scheme;
public PluggerInner()
{
InitScheme();
}
private void InitScheme()
{
var domMgr = ScriptDomainManager.CurrentManager;
var schemePrv = new IronSchemeLanguageProvider(domMgr);
scheme = schemePrv.GetEngine();
}
public void RunSchemePlugin(string fileName)
{
scheme.ExecuteFile(fileName);
}
public void RunPlugins()
{
foreach (var fl in new DirectoryInfo("../../plugins").GetFiles())
{
if (fl.Extension == ".ss")
{
RunSchemePlugin(fl.FullName);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
(这基本上执行为new PluggerInner().RunPlugins())
它.ss在目录中找到我的示例文件(是的,我知道我不应该使用../..),但在这一行引发了一个大错误:
scheme.ExecuteFile(fileName);
Run Code Online (Sandbox Code Playgroud)
我得到的例外是:
IronScheme.Runtime.R6RS.CompoundCondition was unhandled Source="IronScheme" …