我正在尝试创建一个web应用程序,我希望能够插入单独的程序集.我正在使用MVC预览4和Unity结合依赖注入,我用它来从我的插件程序集创建控制器.我正在使用WebForms(默认的aspx)作为我的视图引擎.
如果我想使用一个视图,我会坚持核心项目中定义的视图,因为ASPX部分的动态编译.我正在寻找一种将ASPX文件封装在不同程序集中的正确方法,而无需完成整个部署步骤.我错过了一些明显的东西吗 或者我应该以编程方式创建我的观点?
更新:我改变了接受的答案.尽管戴尔的答案非常彻底,但我还是选择了不同的虚拟路径提供商.它的工作方式就像一个魅力,我认为完全只需要20行代码.
我希望在Eclipse中的 Java应用程序中找到瓶颈.我认为这可能有用:
http://www.eclipse.org/projects/project_summary.php?projectid=tptp.performance
还有其他好的插件吗?
编辑好了,它不一定是Eclipse插件.但这会很好.而且,我对速度最感兴趣.
我正在玩TeamCity安装并开发一个扩展BuildServerAdapter的插件.当我打包并将其安装到服务器时,teamcity-server.log包含我的插件的条目:
该插件也列在服务器管理的插件页面中.
除此之外......没有.我通过logger和System.out输入了各种日志语句,但我没有看到它们.我甚至在构造函数中添加了一个异常,我在系统日志中看不到任何证据.当构建发生时,再次没有证据表明我的代码被调用.
public class CustomBuildServerAdapter extends BuildServerAdapter {
private SBuildServer myBuildServer;
private static final Logger LOG = Logger.getLogger(CustomBuildServerAdapter.class);
private void debug(String msg) { LOG.debug(msg); System.out.println(msg); }
public CustomBuildServerAdapter(SBuildServer aBuildServer) throws Exception {
throw new Exception("constructor is being called, at least we know that...");
//myBuildServer = aBuildServer;
//debug("constructor");
}
public void register() {
debug("registering");
myBuildServer.addListener(this);
debug("registered");
}
public void buildFinished(SRunningBuild build) {
debug("build finished");
postMessage(build.getFullName() + " - " + build.getStatusDescriptor().getText());
debug("message posted");
}
...
Run Code Online (Sandbox Code Playgroud)
我复制的zip …
我为WordPress开发插件.它使用用户端(主题)中的一些jquery作为jquery插件.问题是,当其他autors制作的其他插件出现javascript错误时,我的插件的javascript无法执行.
最糟糕的是人们认为我的插件存在严重错误,即使它在处理条件语句错误时效果很好.但实际上是由于其他一些WP插件/主题作者的一些其他javascript语法错误.
有没有办法继续执行我的插件JS忽略其他JS错误.或者我可以有建议来处理这个问题吗?

虽然这个问题有一个python后端,但问题并不是与python本身有关,而是与扩展机制以及如何注册/查找插件有关.
在python中,入口点的概念是由setuptools引入的,并且与已安装的python发行版的元数据相关联(在其他包装系统中称为包).
根据我的理解,入口点提供的功能之一是允许应用程序定义其他人可以放置内容的位置,因此任何想要使用入口点的应用程序都可以获得已注册的类/函数列表.我们来举个例子:
Bar.callable在"entrypoint1"入口点上注册callable().Bar.callable列为"entrypoint1"的已注册callables之一.使用setuptools,应用程序在安装时注册入口点,信息存储在与打包相关的元数据中,称为.egginfo(通常包含有关分发名称,其依赖关系以及一些有关打包的元数据的信息).
我觉得包装元数据不是存储此类信息的正确位置,因为我不明白为什么这些信息与包装有关.
我很想知道其他语言中的入口点/扩展/插件功能,特别是如果这个概念与元数据和包装有关.所以问题是......
你有我应该看的例子吗?你能解释为什么设计选择是这样做的吗?
你能看到解决这个问题的不同方法吗?你知道这个问题在不同的工具中是如何解决的吗?当前python实现的缺点和优势是什么?
到目前为止我发现了什么
我在不同的项目中发现了一种创建和分发"插件"的方法,它们特别关注"我们如何制作插件".
例如,libpeas(gobject插件框架)定义了一组通过指定插件来扩展默认行为的方法.虽然这很有趣,但我只对"注册和查找"(并最终加载)部分感兴趣.
以下是我目前的一些调查结果:
Libpeas定义了自己的元数据文件(*.plugin),它存储有关可调用类型的信息(可以使用不同语言的不同插件).这里的主要信息是要加载的模块的名称.
Maven有一个设计文档,其中包含有关如何管理内容的信息.Maven管理具有依赖项和元数据的插件,因此它似乎是一个有趣的地方,可以查找它们如何实现的东西.
正如他们的文档中所指出的那样,maven插件正在@goal对类使用annotations(),然后用于查找使用特定注册的所有插件@goal.虽然这种方法在静态语言中是可行的,但它不是在解释语言中,因为我们只知道在给定时间点所有可能的类/可调用内容,这可能会改变.
Mercurial使用中央配置文件(~/.hgrc),其中包含插件名称到可以找到的路径的映射.
更多的想法
虽然这不是这个问题的答案,但有趣的是要注意如何实现setuptools入口点,以及它们如何在性能方面与多变的那些进行比较.
当您使用setuptools请求特定入口点时,将在运行时读取所有元数据,并以此方式构建列表.这意味着如果你的路径上有很多python发行版,这个读取可能需要一些时间.另一方面,Mercurial 将此信息硬编码到单个文件中,这意味着您必须指定可调用的完整路径,然后注册的callables不会被"发现",而是直接从配置文件中"读取".这允许对应该可用的内容进行更细粒度的配置,哪些内容不应该更好并且看起来更快.
另一方面,由于python路径可以在运行时更改,这意味着必须根据路径检查以这种方式提供的callable,以便知道是否应该在所有情况下返回它们.
为什么入口点目前与包装有关
了解为什么入口点与setuptools中的包装相关联也很有趣.主要原因是python发行版在安装时扩展入口点可能会注册其中一部分似乎很有用:然后安装意味着还要注册入口点:不需要额外的注册步骤.
虽然这在大多数情况下(当实际安装python发行版时)工作得相当好,但是当它们没有安装或者根本没有打包时就不会这样.换句话说,根据我的理解,如果没有.egg-info文件,则无法在运行时注册入口点.
我是Sublimetext的新手,想知道什么是一个好用的免费FTP插件.认为编辑必须内置一些东西.我见过开发人员使用某种FTP插件.反馈意见.
我在Mac Moutain Lion上,所以各自的解决方案都很棒.
谢谢.
当我今天打开android studio时,它向我显示了以下错误:


然后,当我重新启动Android Studio后,我收到以下错误:

启用"Android支持"并重新启动后,前两个错误再次显示,当我再次重新启动时,我再次收到第3个错误,并再次禁用"Android支持"插件.(我甚至尝试卸载并重新安装Android Studio)
我怎样才能解决这个问题?
我开始注意到我的WD硬盘已满,并运行了一个大小:巨大的文件搜索.它出现了几个文件:
F:\SCOTT-SHARED-DESKTOP\My Documents\JPA_SPRING_STRUTS\.metadata\.plugins\org.maven.ide.eclipse\nexus\d9d714e11cb097b3ffcec91cccc65d3e_58.cfs
超过189,992 KB(189 MB)!
有人知道这些流氓吗?
我正在尝试插入此代码:
<script type="text/javascript">
some Javascript codes comes here
</script>
Run Code Online (Sandbox Code Playgroud)
到<head></head>前端和管理面板中的Wordpress 部分
好吧,Joomla!1.6有一个允许这样的API:
$doc =& JFactory::getDocument();
$doc->addCustomTag($headTag);
Run Code Online (Sandbox Code Playgroud)
我需要为不同的页面添加不同的东西.例如:
第1页 我需要添加
<link rel="alternate" type="application/rss+xml" title="feed title" href="feed url" />
Run Code Online (Sandbox Code Playgroud)
几页
第2页 我需要添加
<script type=\"text/javascript\" src=\"" . LIVE_SITE .
"/wp-content/plugins/jobs/lknlibrary/js/ajax.js\"></script>
<script type=\"text/javascript\">
var ajax = new sack();
var currentClientID=false;
function getClientData()
{
var clientId = document.getElementById('db_country_id').value.replace(/[^0-9]/g,'');
ajax.requestFile = '" .BASE_PATH . "/wp-content/plugins/jobs/com_jobs_admin/tasks/get_location_data.php?task=get_location_data&name=db_parent_id&getClientId='+clientId; // Specifying which file to get
ajax.onCompletion = showClientData; // Specify function that will be executed after file has …Run Code Online (Sandbox Code Playgroud) 我已经为这个问题开始了赏金
...因为我真的想要社区的意见.我可以(并且已经)查看了几种语言/框架,并且"好吧,这可能会正常工作" - 但我真的很感谢那些专门针对我面临的问题的建议,尤其是那些有经验整合/使用什么的人你推荐.
我从事科学分析软件的研究.它为数据的数学转换提供了许多工具.一个工具允许用户输入他们自己的等式,该等式在数据集(大的2D或3D矩阵值)上运行并进行评估.
这个工具有一个图形方程编辑器,它在内部构建一个面向对象的表达式树,每个操作都有一个不同的对象(例如,会有一个Logarithm类的实例,它是树中用于添加计算对数的节点一个值的基础;它有两个孩子作为其输入.)部分截图:

您可以在左侧看到它正在构建的树,以及右侧菜单中的许多(五十个)潜在操作中的一些.
这有一些缺点:
对于我们的用户希望能够使用它的那种东西,它更简单,但不再是更简洁.如果我现在写它我会做得完全不同 - 这是我的机会:)
我想为用户提供更强大的功能,让他们编写代码 - 脚本或编译 - 可以执行更高级的操作. 我正在寻求对这应该使用的技术或采取最佳方法的建议.
这问题的其余部分很长 - 我很抱歉.我试图详细描述这个问题.在此先感谢您阅读:)
我们的数学运算在大型矩阵上.在上面的等式中,V1表示输入(可能是许多之一)并且是2D或3D,并且每个维度可以是大的:大约数千或数十万.(我们很少同时计算所有这些,只是片段/片段.但如果答案涉及需要编组数据的内容,请注意这个问题的大小和速度.)
我们提供的操作允许您编写,比如说,2 x V将每个元素乘以V2.结果是另一个相同大小的矩阵.换句话说,一个脚本或编程语言,其中包括标准的数学元是不够的:我们需要的是能够控制哪些元可用,或如何得到实施.
这些操作可能很复杂:输入可以像数字(2,5.3,pi)一样简单,也可以像1,2或3维矩阵一样复杂,其中包含数字,布尔或复数(配对值)数据.我目前的想法是一种强大的语言,我们可以将数据类型公开为类,并可以实现标准运算符.一个简单的评估者是不够的.
我们的受众主要是研究科学家,他们不习惯编码,或者可能习惯于像Matlab或R这样的语言.
我们使用Embarcadero C++ Builder 2010进行开发,使用少量Delphi.这可能会限制我们可以使用的东西 - 仅仅因为某些东西的C++,并不意味着如果它只是针对VC++或GCC进行编码就会起作用.它还必须适合与商业软件一起使用.
我们的软件目前有一个COM接口,部分应用程序可以自动化,我们的应用程序是进程外的COM服务器.我们可以将COM接口添加到某些内部对象,或者如果需要,可以专门为此创建第二个COM框架.
包括这个在内的"工具"正在迁移到多线程框架.最终解决方案需要能够在任何线程中执行,并且可以在多个线程中同时执行多个实例.这可能会影响托管语言运行时 - 例如,Python 2.x具有全局锁定.
使用图书馆附带的语言进行数学或科学使用会很棒.
向后兼容旧表达式工具并不重要.这是版本2:干净的石板!