问题标签 [dynamic-compilation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
grails - enable auto recompilation in grails vaadin project
I have a grails vaadin project. the auto recompilation feature used to work well until I began to use internationalization, since then I have to restart the server to recompile any change.
Any Idea ?
java - 编译了一个类,但它在哪里?
我不是 Java 专家,而且我对编译和运行动态生成代码的整个概念还很陌生,这在其他语言中非常简单,特别是 Javascript 和 PHP 等脚本语言。
我正在关注这段代码: http ://www.java2s.com/Code/Java/JDK-6/CompilingfromMemory.htm 我做了这样的事情:
想象一下,字符串代码类似于
在抛出 ClassNotFoundException 的 Class.forName 之前它运行良好。我很困惑,因为我似乎没有从片段中删除一些重要的东西:所以,这个类已经编译了,但是它去哪儿了?
我读过一些关于使用不同类加载器的文章,但是就像我说的那样,我对所有这些东西都很陌生,我不知道去哪里以及如何使用它,以及我应该如何定义自己的 ClassLoader 扩展. 我唯一知道的是,一切对我来说似乎都很复杂......
在 Windows 7 和 JDK 1.7 中使用 Eclipse Indigo。
asp.net-mvc-3 - MEF 和 MVC 3 - 如何从 mef 容器动态加载嵌入式视图?
我正在构建一个使用 MEF 的 MVC 3 应用程序。主要思想是具有插件机制,其中模型、控制器和视图在运行时从 mef 容器动态加载。
每个插件/模块由两个程序集组成:
- Module1.Data.dll(包含模型定义)
- Module1.Web.dll(包含控制器和视图)
并放在 Web 应用程序 bin 内的 Plugins 目录中:
- WebApp/Bin/Plugins/Module1.Data.dll
- WebApp/Bin/Plugins/Module1.Web.dll
- WebApp/Bin/Plugins/Module2.Data.dll
- WebApp/Bin/插件/Module2.Web.dll
- WebApp/Bin/Plugins/ModuleCore.Data.dll
- WebApp/Bin/Plugins/ModuleCore.Web.dll
- ETC...
还有一个核心模块被所有其他模块引用:ModuleCore.Data.dll 和 ModuleCore.Web.dll。
然后,在 Global.asax 中,容器按以下方式构建:
CustomViewEngine 被创建并注册并用于在模块组装中查找视图:
用于从容器加载控制器的控制器工厂:
以及用于从容器获取程序集的自定义虚拟路径提供程序:
好的,处理可插拔模型、控制器和视图的整个基础设施都准备好了。现在一切正常......除了一件事 -强类型视图。
为了更详细地说明问题,让我们准备场景:
- UserDTO 模型位于 Module1.Data.dll
- ShowUserController.cs 位于 Module1.Web.dll/Controllers/
- Index.cshtml 位于 Module1.Web.dll/Views/ShowUser (声明@model Module1.Data.UserDto)
现在我们执行以下操作:
- 运行应用程序并转到 HOST/ShowUser/Index(在 ShowUserController 上执行操作方法 Index 并获取视图 Index.cshtml)
- 获取视图 Index.cshtml 后 - 编译开始(通过 RazorBuildProvider)
- 抛出异常:“在命名空间 Module1 中找不到数据类型”,换句话说,在动态构建视图期间找不到 UserDTO
因此,编译器/构建器似乎没有查看 Module1.Data.dll 的 bin/Plugins 文件夹,因为当我将此文件复制到 bin 文件夹时 - 它的措辞很好。
问题/问题:为什么构建器没有查看 bin/Plugins 文件夹,即使此目录是由 AppDomain.CurrentDomain.AppendPrivatePath 方法添加的?如何为程序集生成器添加一次私有路径,以便将插件文件夹考虑在内?
我已经设法通过创建覆盖标准的 CustomRazorBuildProvider 来解决一些问题:
但是这种解决方案的缺点是每次编译视图时,都需要添加对Plugins文件夹中所有程序集的引用,这可能会在以后使用大量插件时导致性能问题。
有更好的解决方案吗?
grails - 由于 grails 的 spring-mobile 插件导致动态编译失败
我正在为 grails 使用 spring 移动插件 0.3,并且由于在任何控制器中使用它,如果我在该控制器中进行任何修改并在浏览器中刷新应用程序 url,编译失败并出现错误
withMobileDevice 由插件提供..
配置中是否有任何修改我可以做以支持使用此插件进行动态编译,并且每次使用插件对控制器进行任何修改时都无需重新启动服务器。谢谢
c# - 加载动态创建的 ASCX 控件(通过代码)
我正在Web User Controls
通过代码创建(我的 C# 代码写出标记、代码隐藏和设计器文件到磁盘上的回调)。控件都创建得很好。我可以将它们添加到我的网络项目中并将它们放在一个页面上。
当我尝试使用LoadControl(path)
它加载控件时说:
这是因为控件尚未编译。
但我的要求是动态加载控件而不重新编译解决方案。
如何仅在创建控件文件时编译用户控件?因为这似乎是唯一的出路。
编辑:-我的猜测是,由于该文件尚未编译,但运行时不允许加载它。我尝试使用CodeDom
编译器编译代码文件。喜欢:
但它抱怨cannot find metadata file Telerik.Web.Design.dll
等等。我不想硬编码telerik路径,因为它在托管系统中可能不同(尽管它在bin
当前的网络应用程序中)。也是MyCurrentDll.dll
我从中编译代码文件的文件的dll。我该如何解决这个问题?
我的想法是编译代码文件,dll
动态创建一个并将其复制到 Web 应用程序的bin
目录中。它可能会解决我最初提出的问题。
编辑 2:- 经过试用后,我能够动态编译代码文件并生成dll
. 即使在生成 dll 并将其放入bin
我的应用程序之后,我也无法使用virtual path
. 我尝试了以下方法:
在此之后加载 ctrl。我分配它的Id
属性并将其添加到asp.net Panel
控件中。但回发后它不可见:(
现在我要么必须以某种方式使动态编译的 dll 类型可用于运行时(可能是 appdomain),这样当我使用虚拟路径加载控件时,它会被正确加载,我不明白HtmlParseException
为什么加载控件表单Type
没有显示向上。
PS:-我已经加载了一个Label
控件Type
,它工作正常。
interpreter - Cg 中使用的动态编译和某些脚本中使用的解释器有什么区别?
在 Cg 教程中,它说 Cg 使用动态编译。我注意到它的编译器与解释器有一些相似之处,因为它们不需要在第一遍编译所有代码,如果存在错误,您会在运行 exe 时找到它。
但是,它们之间有什么区别。谁能给我一些细节?非常感谢。
c - C 在代码中获取编译选项
我正在为应用程序编写 GUI,但主要开发人员希望在 Makefile 中设置 GUI 是否与其余部分一起编译。我将所有 GTK+ 代码放在一个单独的文件中,但在主文件中我需要测试应用程序是否正在使用 GUI 编译,那么我该如何测试呢?
例如:
c# - 为什么 CompilerOptions.EmbeddedResources 不将资源文件附加到程序集
我正在尝试使用 CSharpCodeProvider 生成一个 exe,该 exe 将是一个 Windows 窗体项目。exe 必须有一个资源,生成的程序集将在运行时访问该资源。现在要生成该资源,我使用 ResourceWriter 类,然后将其附加到编译器选项 EmbeddedResources。但它似乎不起作用,我得到了 MissingManifestResourceException。
这是代码:
希望有人能够帮助我,因为我已经尝试了一个多星期。谢谢你。
c# - 将字符串转换为 c# 可执行代码
我有一个小解决方案,我对此主题进行了研究,但找不到我正在寻找的确切内容,示例是在字符串中编译整个方法或完整表达式。我想要说我有这段代码,我试图使用 Newtonsoft.json 从 json 中提取数据,
我想要的是通过这个部分,
作为字符串并转换为 c# 代码,这样我就可以使该值动态地作为 json 文件格式彼此非常不同。
编辑:
以下是我正在使用的 json 字符串,
知道如何或什至可能吗?
api - Haskell GHC API 中的动态编译错误
我一直在尝试按照此处找到的教程使用 GHC API 进行一些基本的动态代码编译。
这段代码:
应该从另一个名为 Test.hs 的文件中获取打印功能,加载它并运行它的打印功能。
我使用 ghc 版本 7.4.1 使用以下命令编译代码:
但收到以下错误:
我究竟做错了什么?我已经检查了 GHC API 文档,但对这类事情还不够精通,无法理解其中的大部分内容。