问题标签 [precompiled]
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.
ruby-on-rails-3 - Rails 资产预编译神秘错误
我在资产预编译中遇到了一个非常讨厌且持续存在的问题,我自己似乎无法解决。编译总是在一些没有错误的文件中失败。例如,下面的错误出现在copies.js.coffee
只有注释的文件中。如果我删除该文件,另一个文件将出现错误。我所有资产文件的类型是us-ascii
- 任何文件中都没有奇怪的字符。我正在使用 Rails 3.1.3。我用 Ruby 1.9.2 和 1.9.3 都试过了——没有区别。
这真的很烦人,我无法前进。我已经尝试了从这里和其他地方找到的几乎所有东西。
另外:我在 cygwin 和 Ubuntu 的 rvm 下都试过这个。
java - 创建将在 Eclipse 中编译前后运行的程序
我目前正在开发一个小程序,该程序应该注释掉一些用于测试的代码。我希望它在编译发布版本时在编译器之前自动运行,另一个程序将在编译结束后重新注释代码。
该程序的工作原理是我唯一缺少的是将它添加到构建过程中。感谢所有帮助者!
ruby-on-rails-3 - 防止 Heroku 在开发模式下使用预编译资产
目前,当我将代码推送到我的实例时,Heroku 似乎决定预编译资产。
这对于生产服务器非常有用,但是对于我的“RAILS_ENV=development”服务器,这会导致问题,因为我现在从我的资产清单中获取包含所有 JavaScript 文件的页面,然后将另一个具有相同代码的文件全部分组作为预编译的资产。
这会导致我的 jquery 数据表库中断,引发弹出错误,而我在本地环境(开发或生产)或生产 Heroku 实例中都没有。
无论如何要禁用 Heroku 上的资产预编译以用于开发模式实例?或者有什么理由没有在开发 Heroku 服务器上禁用这些?
javascript - RingoJS 中如何加载预编译的 JavaScript 模块?
好的,所以我创建了一个名为的 JavaScript 文件test.js
,其中包含以下代码:
我使用 Rhino JavaScript Compiler 编译它,没有任何错误。然后我创建了一个名为的新文件foo.js
,其中包含以下代码:
现在,当我foo.js
在 Ringo 中运行时,会引发以下异常和堆栈跟踪:
我不知道我哪里错了。我有最新版本的 Ringo 和 Rhino 1.7R3。我通过将以下行添加到我的类路径中,将当前目录添加到foo.js
:
但是,它仍然会产生相同的错误。我不知道如何使这项工作。任何帮助将不胜感激。
asp.net - 如何使用所有程序集上的版本号预编译 ASP.NET
背景:
我正在使用 aspnet_compiler.exe 预编译一个 Web 应用程序。一切正常,但很好,但我注意到 AssemblyInfo.vb 中指定的版本号仅适用于 App_Code.dll、App_Browsers.dll 等,但不适用于单个页面程序集。我正在使用 -fixednames
编辑:这是网站而不是网络应用程序
问题:
有没有一种方法可以让版本号向下传播到页面程序集,而无需使用 aspnet_compiler(不是 Web 部署项目或 Web 应用程序)在每个页面上使用 @Page 指令。
编辑:似乎某些页面程序集确实设置了版本号,而另一些则没有。例如:
/Default.aspx(+.vb) -> 编译为 App_Web_default.aspx.cdcab72d.dll(NO 版本号)
/Sites/A/Default.aspx(+.vb) -> 编译为 App_Web_default.aspx.cd795919.dll(没有版本)
/Sites/B/Default.aspx(+.vb) -> 编译为 App_Web_default.aspx.d30819d.dll(没有版本)
情节变厚了
好的,所以忘记上面的所有内容,版本号已传播到所有程序集。问题是只有一些显示在 Windows 资源管理器中(属性对话框和“文件版本”列)。但是如果我这样读,版本就在那里:
有人知道到底发生了什么吗?
asp.net - 无法使用预编译的 ASP.NET 网站项目加载文件或程序集 App_Web_ *
我在一个非常具体的页面上遇到了这个问题,我不知道如何解决它。我已经发现了几个 SO 问题(例如ASP.NET 损坏的程序集“无法加载文件或程序集 App_Web_*”和无法加载文件或程序集 App_Web_xxxxxxxx 或其依赖项之一)并尝试了他们的解决方案,但无济于事。
回顾一下,这是我尝试过的:
batch="false" numRecompilesBeforeAppRestart="50"
在 web.config 中设置重新启动托管此网站的 IIS 网站
清除 ASP.NET 中的临时文件
%windir%\Framework64\v4.0.30319\Temporary ASP.NET Files
已调动
...以及上述的任何组合,但无济于事。当我尝试从 VS 运行网站以及在没有预编译的情况下部署网站时,它工作得非常好。
以下是一些环境规格:
预编译是通过 Web 部署项目完成的。无论是 TFS 还是我进行了预编译都没有关系:问题仍然存在
.NET 版本为 4.0.30319
AppPool 设置:管道模式集成在 .NET 4.0 上
这是我打开时发生的特定错误Customer.aspx
:
Could not load file or assembly 'App_Web_qxcfa0wv, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
该页面注册了一个名为 的控件UserManagement.ascx
,位于~/Controls/UserManagement.ascx
。
该控件注册了另一个名为 的控件UserDialog.ascx
,该控件位于~/Controls/Dialogs/UserControl.ascx
。
最后一个控件使用一个~/Controls/User.ascx
封装了用户数据的控件。没有进一步的依赖关系。
根据堆栈跟踪,错误位于UserDialog.ascx
(<%@ Control ... %>
指令)的第 1 行。
我不知所措。我的猜测是它不起作用,因为~/Controls/Dialogs/UserDialog.ascx
需要一个位于父文件夹中的控件,这会导致在运行时出现一些过时的引用。有点像第一个 SO 问题中的问题描述。
但是,我不能简单地通过排除~/Controls/User.ascx
控件来测试它,因为那样我在另一个使用的控件中遇到循环引用错误~/Control/UserDialog.ascx
,即使该控件也没有注册任何其他控件。只有一个命名空间注册,大多数其他控件都使用它。
我会说循环引用和错误是相关的,但我不能完全说明如何。并非没有绘制整个依赖关系图。
有任何想法吗?
提前致谢!
jquery - Rails 3,在生产中运行时“找不到”javascript
我知道它与资产有关,我确实预编译了资产
但是浏览器只为一个 javascript (jquery.formalize.min.js) 文件给了我 404,由于某种原因没有生成该文件。然而,在预编译的 application-xxxxxx.js 中有 jquery.formalize.min.js 的代码。
我将它包括在内:
Chrome 中的错误消息如下所示:
形式化 js 文件的完整路径是 app/assets/formalize/jquery.formalize.min.js。
当然,application.js 加载正常。
如何加载formalize/jquery.formalize.min.js?谢谢。
asp.net - 使用预编译的 Razor 视图和 VirtualPathProviders 时找不到文件 PrecompiledApp.config
我们有一个应用程序使用 WebForms .aspx 文件来处理几乎所有的事情。Latley 我们一直在使用预编译的 RazorViews 作为获取 nicley 打包功能的一种方式,只需在我们的项目中删除一个新的 dll。但是现在我们发现我们的预编译视图似乎与我们的 VirtualPathProviders 冲突。
当从外部 dll 加载 VirtualPathProviders 时,应用程序会尝试为所有请求加载 PrecompiledApp.config(我们没有得到它)。提供者加载了反射。我们在与注册相同的项目中有一些 VirtualPathProviders,它们工作正常,但是当我们从外部 dll 注册提供程序时,HostingEnvironment.RegisterVirtualPathProvider
我们遇到了这个问题。
如果我们添加文件 PrecompiledApp.config,它会尝试获取 _appstart.cshtml 等等。在通过例外之前,我们必须拥有以下所有这些文件:
- 预编译的App.config
- _appstart.cshtml
- _PageStart.cshtml
- _ViewStart.cshtml
- 视图/_ViewStart.cshtml
- 视图/共享/_ViewStart.cshtml
- 默认.cshtml
我们最终在 default.cshtml 中,应用程序的其余部分工作。因为我们想使用 apsx-files 作为默认值,所以这不是一个可接受的解决方案。我们也担心会出现更多问题,因为我们不知道为什么会发生这种情况。
我们已经尝试过这种方式来加载我们的提供程序,但我们仍然得到同样的错误: http ://sunali.com/2008/01/09/virtualpathprovider-in-precompiled-web-sites/
例外:
asp.net - 如何处理对在另一个 Web 应用程序中引用的预编译 Web 应用程序的网页的请求?
我们公司希望将我们的 Web 应用程序的预编译版本提供给第三方,以便他们可以向其中添加自己的页面和模块。为了实现这一目标,到目前为止,我已经完成了以下工作:
- 将我们的主要 Web 应用程序编译为 Web 部署项目
- 创建了一个 POC Web 应用程序,该应用程序引用了上述第 1 步产生的 DLL。
然后,我将以下静态方法添加到我们的主 Web 应用程序中,它有望处理对其预编译的 aspx 页面的请求:
然后,每当我希望我们的主 Web 应用程序处理请求时,我都会在 POC Web 应用程序的ProcessRequest()
方法中调用此方法。HttpHandler
该代码确实成功地实例化了正确类的页面并开始处理请求。
问题:
我的Page_PreLoad
处理程序中的代码抛出异常,因为Page.Form
是null。我还发现Page.Controls
集合是空的。
我究竟做错了什么?我应该走一条不同的道路来实现这一目标吗?
asp.net - 对预编译的网站进行更改
就像我目前的生活一样,我继承了另一个需要改变的项目。
然而,这段代码已经被预编译(猜猜是什么......)
我有一些源代码,一组程序集形成临时文件夹。然而,该项目抱怨缺少一些用户控件和子目录中的母版页。
我在我拥有的程序集中的任何地方都看不到这些,而且它们不在我从网站上获取的代码中。那么,我在哪里可以找到预编译母版页和用户控件的 UI 部分?