问题标签 [pre-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.
stackexchange - 如何使用 StackExchange.Precompilation 修复相对路径的编译?
对于https://github.com/StackExchange/StackExchange.Precompilation:
我们在安装了 StackExchange.Precompilation 的单独库中有一些共享视图。我们必须将这些视图与普通 Web 项目的视图一起加载。我们在两个项目中都从 NuGet 安装了最新版本的 StackExchange.Precompilation。我正在像这样进行程序集加载:
在 web 项目中,我们以正常方式返回视图:return View("Index");
使用PrecompiledViewEngine
时,尝试呈现这样的相对名称时会出错:
util
是 IIS 中应用程序的别名。我们没有注册任何区域。
PrecompiledViewEngine
当我从 GitHub复制课程时 -它有效!我是否遗漏了一些可以使通过 NuGet 分发的版本正常工作的东西?
c# - 预编译的 asp.net 网站报错
我有一个 ASP.Net 网站。作为一个网站,在发布网站后,每个 aspx.cs 文件的 bin 中有单独的 dll 文件。因此,如果我们想更改实时环境中的任何内容,我们需要再次发布整个网站。如果我尝试替换特定页面 dll,然后它给了我一个错误。所以无法找到方法,我只希望它只构建一个应用程序名称的 dll,如所有 .cs 文件的 aaaa.dll。有什么方法可以使它成为可能。它是一个大项目,所以如果我想从网站制作 Web 应用程序,那么它会让我花费很多。所以如果有任何其他方式,那对我来说会很好,或者我如何从我的网站制作单个 dll?任何建议都是欢迎。谢谢。
asp.net - ASP.NET 3.5 预编译 [NullReferenceException]
在使用 aspnet_compiler 运行预编译时,我得到一个 asp.net 应用程序的空引用。没有具体的错误,但是我在构建日志中有这个。
到目前为止我尝试过的事情,
- 清除温度
- 为文件夹分配权限
- 检查文件夹压缩
- 检查 bin 中的 *.compiled 文件
- 在 bin 中删除 *.ddl 刷新 dll
我正在使用以下命令从命令行运行构建,
这是构建 xml 中的目标定义
到目前为止没有任何帮助,我从一位同事那里得到了这个问题,他说前几天工作正常,我该如何解决这个问题?构建正在运行,退出仅在接近尾声时发生,另一件事是它从 Visual Studio 运行正常,只有命令行构建正在中断,任何指针?谢谢
c++ - 获取字符串的 C++ #define
我想创建一个非常基本的混淆方法,基本上我只想xor
每个字符串都这样调用
会产生类似的东西
1
在这种情况下,我将字符串与
cython - Cython 预编译器决策
我正在寻找一种在 cython 文件中添加预编译器逻辑的解决方案。
我为 C++ 中的硬件设备 API 编写了一个 cython 包装器。这是一个 cython 项目,通常使用 MSVC 为 python 2.7 和 3.6 编译。整个包是用 cython 编写的,不需要外部 c++ 或头文件。
最初,我编写这个软件是为了在 Windows 机器上使用,所以我使用了一些基本的 winapi 函数来帮助访问内核事件循环和 winapi 错误消息。它工作得很好,但我还想添加跨平台编译的功能。这需要我完全替换几个关键功能才能使其在linux机器上工作。例如,硬件 API 甚至根据操作系统具有不同的事件处理功能。此外,winapi 事件处理也需要更换。
现在,我将整个项目一起编译成一个模块以简化导入。所有代码都驻留在编译成文件的同一个 pyx 文件中hwmodule.pyd
。但是,为了实现跨平台编译的目标,我需要在设置时将几个小的 pyx 文件一起修补。该解决方案不优雅且难以维护。更不用说,这更难培训可能想要添加到项目中的其他人。
理想情况下,我可以将 cython 编写为 c 编译时标志,这些标志根据标志或变量进行解释和编译。cython 中是否有任何解决方案可以实现我的目标?或者,是否有一个不同的组织可以优雅且易于维护?
一些与 c 或 python 中的语法相似的合理语法示例(可能存在也可能不存在):
使用
/li>#ifdef
或类似的陈述使用类似 python 的
/li>with
块以类似 cython 的行结尾结束函数
/li>
visual-studio - 预编译在剃须刀页面中不起作用
我是 Razor Pages 的新手(并且从未做过 MVC),它真的可以帮助我了解我是否可以预编译,但我无法让它工作。我在 Visual Studio 中使用 Razor 3.2.4 和 WebPages 3.2.4 新建了一个项目。
我的项目有一个 index.cshtml 和一个 _Layout.cshtml 文件,以及 css 文件。我还在项目中添加了 Entity Framework 6.2.0,但我认为这无关紧要,因为在不使用任何 EF 代码时会出现问题。
我能找到的文档说它默认预编译,从几个版本开始。尽管如此,我还是将 MvcRazorCompileOnPublish 添加到项目中,如下所示:
index.cshtml 文件包含以下内容:
编译错误(或我介绍的任何错误)直到运行时才被捕获。我已经阅读了许多文章,但找不到任何似乎适用的文章。
asp.net-core - ASP.Net Core 编译库项目中的视图
我有一个编译为 dll 的 asp.net core mvc 项目:
<OutputType>Library</OutputType>
此项目从 Windows 服务项目(经典 .NET)中引用并托管在其中。当我没有意见时,这很好用。我遇到的问题是当我添加它试图在运行时编译的视图时没有找到引用。
我的想法是,也许预编译视图可以解决问题。但我似乎找不到为“库”输出项目预编译视图的方法。
有没有办法为 ASP.NET *core 中的库类型项目预编译视图?
更新:更多信息。似乎预编译视图的目标仅适用于 Exe 输出,因为它们希望生成 a.exe
和.exe.config
文件;“库”项目不会发生这种情况(因为它只生成一个.dll
文件)并且构建.PrecompiledViews.dll
失败。
jsp - 如何在运行时在tomcat中禁用JSP编译
我需要在运行时禁用 jsp 编译。我已经将所有 jsp 文件预编译到产品中。在生产环境中,我不想运行任何新的 jsp。
c++ - 检测到“DEBUG”的 Log4cpp 命名冲突。
问题
编译我的项目时,log4cpp文件出现错误。错误如下:
/usr/include/log4cpp/Priority.hh:49:2: erreur: #error Naming collision for 'DEBUG' detected. Please read the FAQ for a workaround.
文件
此错误引用的文件是随 Log4cpp 安装的标头。这里是。错误位于第 49、78 和 109 行
研究
我发现唯一引用此问题的常见问题解答是在log4cpp 的 Sourceforge 上。这是它所说的:
这是由于某些平台的粗鲁造成的,这些平台使用一些生硬的#defines 来破坏命名空间。更准确地说,Win32 API 包括“ERROR”和“DEBUG”的#defines。由于预处理器不知道 C++ 命名范围,这导致在任何地方都保留单词 ERROR 和 DEBUG 。特别是这与 log4cpp::Prioritiy::ERROR 和 log4cpp::Priority::DEBUG 冲突。后两个名称来自 log4j,所以它们不是我们自己编造的。他们的 Win32 作者不应该通过预处理器粗暴地声称这些通用名称。还有更好的选择:
会做得很好。使用 WIN32API_ERROR 等不太通用的名称来减少命名冲突的可能性 如果他们将其用作条件编译的标志,请使用“#define DEBUG DEBUG”和“#if defined(DEBUG)”。在这种情况下,预处理器将简单地将源代码中所有出现的“DEBUG”替换为“DEBUG”,实际上使所有内容保持不变。
当然,正确的解决方案是如果违规方使用上述方法之一,但我们可能需要等待一段时间才能真正发生。作为替代 log4cpp 可以解决这些#defines。通过在#include 任何 log4cpp 头文件之前和 #include 所有平台头文件之后执行 #define LOG4CPP_FIX_ERROR_COLLISION 1 来启用解决方法代码。对于 Win32 平台,此#define 已包含在 log4cpp/config-win32.h 中。
一旦 log4cpp 更新到 log4j 1.2 API,我们可以通过采用新的日志级别名称来解决这个问题。
语境
问题是,我不应该更改源代码。我只能修改编译配置文件(本项目使用 Apache Ant builder、build.xml
文件和 bash 脚本)。
我对这个项目很陌生,我不能向以前的开发人员寻求帮助。
问题
有没有人遇到过这个错误?除了更改源代码及其定义之外,还有其他可能的解决方法吗?我的环境变量是原因吗?
我将继续我的搜索,但任何见解都会很有用。谢谢 !
jsp - Tomcat JSP 预编译
我正在尝试使用 curl 命令预编译 jsp。几乎所有的 jsps 都已成功预编译和执行,但由于某种原因,其中少数的执行失败。但是,由于 jsp 已经编译,我相信服务请求的时间必须在第一次命中时减少,而这在我的情况下不会发生。而且第二击比第一击要快得多。另外,我认为可能的原因之一可能是如果在预编译期间执行失败,tomcat 正在重新编译 JSP。真的吗?如果是,如何停止重新编译 JSP?