问题标签 [build]

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.

0 投票
8 回答
930 浏览

c# - .Net 中是否可以仅从客户端程序集的调试版本中调用某些代码?

我正在编写一个(非常小的)框架来检查方法的前置条件和后置条件。入口点是(它们很容易成为方法;没关系):

显然,当方法没有问题时,检查后置条件可能会很昂贵,而且实际上并不是必需的。所以我想要一个像这样工作的方法:

whereConditionalCallingCodeAttribute意味着这个方法应该只在调用代码用定义的 DEBUG 符号编译时运行。这可能吗?

我希望客户端代码如下所示:

当然,我可以不提供WhileDebuggingThat。然后客户端代码将如下所示:

如果没有其他办法,这是后备计划,但它非常严重地破坏了 DRY。

据我了解,标记WhileDebuggingThatwith[Conditional("DEBUG")]将发出(或不发出)此方法,具体取决于在库编译期间是否定义了 DEBUG,而不是引用该库的程序集。所以我可以这样做,然后编写文档告诉库用户将其代码的调试版本与库的调试版本链接起来,并将发布版本与发布版本联系起来。这对我来说并不是最好的解决方案。

最后,我可以告诉图书馆用户在他们的项目中定义这个类:

据我所知,这应该也可以,但仍然需要打破 DRY 原则,即使只是轻微的。

0 投票
2 回答
3246 浏览

build - 将文本文件内容包含到 WiX 脚本中

有没有办法从文本文件中读取 WiX 变量的值?

我想要做的是将特定于版本的信息包含到安装包中。

此版本信息在预构建步骤中提取到文本文件中,问题是如何将此文本文件内容传播到构建过程中。

一种可能的解决方案是在预构建步骤中更新整个 .wxs 文件,但感觉有点草率。

有没有其他侵入性较小的方法?

谢谢你。

0 投票
1 回答
722 浏览

windows - 如何从源代码构建 Windows D3D9 refrast?

Microsoft 将源代码分发给硬件供应商、驱动程序开发人员等,以参考其不同 Direct3D API 的实现。此代码使用永远神秘的 WDK(以前的 DDK)构建系统构建,并且几乎从不开箱即用。虽然被广泛使用,但此代码是半私有的,因此在更广泛的网络上永远没有任何基本的有用信息。这很常用(并且在这个社区中众所周知的痛苦),并且基本的构建信息足够不敏感,它应该可以在 Google 上发现。

构建自述文件建议使用 WDK 并使用命令进行构建build -cz -daytona。令人困惑的是,这会吐出一堆输出但什么也没有构建。

克服这个问题,带有 WDK 6001.18002 的 Vista,最新的 d3def9 源代码分发在link子项目中失败,“无法产生任何输出 - 警告被视为错误”。

XP d3dref9.dll 的构建也可能令人困惑,经常找不到 D3D 标头和类型。

0 投票
3 回答
2914 浏览

windows - 是否可以让 Microsoft build.exe 包含来自远程目录的源?

将源文件添加到多个目录之外(例如 ../../source.cpp 或 ../../../somewhere_else/source.cpp,与仅 source.cpp 或 ../source.cpp 相比) WDK/DDK 构建中的 SOURCES= 声明会产生以下错误:

是否可以在构建中包含远程源文件?

0 投票
1 回答
1425 浏览

c++ - 如何为 _RTC_InitData 和 _RTC_Shutdown 解析未解析的符号 (LNK2001)

我正在 Visual Studio 2008 中构建一个 x64 库,并将其单独链接到一个 x64 DLL(在这种情况下特别使用 WDK Build.exe 工具链)。大多数通用 C 运行时符号链接正常,表明库版本匹配得很好,但这两个 RTC_* 符号特别失败。强制使用不同的运行时库版本,以及在 lib 的链接器选项中包含激进的符号并不能解决问题。

0 投票
2 回答
27039 浏览

visual-studio - VS2005:组装'' 被错误地指定为文件。

我在我的项目中添加了对 log4net 程序集 dll 的引用。

当我构建时,我收到一条警告:

警告程序集“Lib\log4net.dll”被错误地指定为文件。

在 MSDN 上查找此错误的帮助,它说:

当构建过程检测到文件引用实际上是(托管或本机)程序集时,会在应用程序清单生成期间生成此警告。

这正是我正在做的;文件引用一个程序集。我在这里被告知什么?

如何添加对程序集 dll 的引用,而不添加对程序集 dll 的引用?

0 投票
1 回答
527 浏览

build - Wise Installation Studio 的 MSBuild 或 NAnt 或 Rake 任务

有谁知道用于控制 Wise Installation Studio 的任何 MSBuild 或 NAnt 任务?

我知道,我可能应该只使用 WiX,但我当前的项目已经在 Wise 中,我需要自动化的只是更新产品代码、升级部分和一些文本。

0 投票
0 回答
500 浏览

python - SCons:如果目标是在另一个存储库中构建的,我如何创建指向另一个存储库目标的链接

当我将 a 添加RepositorySConstruct文件(link)时,如果我的存储库中的任何目标已在另一个存储库中构建(并且依赖项没有更改),那么SCons不会构建目标 - 这真的很酷。不幸的是,我有一些工具依赖于放置在某个位置的目标。SCons当由于其他存储库已经构建了目标而决定不在本地构建时,如何在当前存储库中创建指向该其他存储库目标的链接?

编辑: 它看起来SCons有一个“本地”功能,它将文件从另一个存储库复制到本地存储库(链接)。我真正需要的是软链接,因为这些目标很大,而且有很多冗余。

0 投票
2 回答
1723 浏览

c# - 发布版本不可用 WPF

我正在编写一个相当简单的 WPF 桌面应用程序,并且在构建\配置管理器下,发布不是一个选项。唯一可用的选项是调试、新建和编辑。

有人知道这是为什么吗?

相关:同一解决方案中的控件库确实将发布作为构建选项。它仅在 wpf 应用程序中丢失。

0 投票
5 回答
474 浏览

build - 在构建 Web 服务器方面需要帮助

问候!

我想构建一个 apache web 服务器,在 debian lenny 上运行。

它将主要用于托管网上商店,因此它应该有一些轻量级的数据库 i/o 和大量的图像服务(项目预览/拇指/等等...)。

很难确定我会遇到的并发请求的确切数量,但我想说非专业设置应该足以处理它们。

非专业人士的意思是我不需要投资购买刀片、机架或类似的东西。只是针对 Web 服务器性能进行了调整的普通台式 PC。

这暴露了我当前的问题:我不知道我应该寻找什么样的机器。

如果我想建立一个游戏平台,没问题 - 至少有一百万个网站有性能测试台,从最前沿的显卡评论到平板 LCD 对比度/响应时间图表。但是,在尝试为基于 Web 服务器的构建寻找推荐时,我很难找到一个好的最近评论。

所以,至少到目前为止我已经设法收集到这些 - 这些是我应该关注的优先事项:

所以,内存和硬盘驱动器没什么大不了的,在这里你不会出错(我猜)。以现在的 RAM 价格,将 8+ Gb 注入机器是相当实惠的。

这里唯一的问题是,购买一个小型(<=32 Gb)SSD 并将我所有的网络内容和操作系统都放在上面是否值得。我的整个 Web 服务器只有几兆的大小 + 数据库将非常整齐地安装在它上面,并有启动空间。

至于显卡,我只要插上我能装的任何旧的 PCI Ex 卡,任何外围设备也是如此。我不需要任何形式的显示 - 我将在大部分时间远程登录。

好的 - 现在最重要的问题是:购买哪个 Proc 和 MB。据我所知——考虑到机器的性质,最好有 10 个内核以每个 100 Mhz 运行,而不是只有一个以 2 Ghz 运行。

所以我很可能必须得到一个四核,对吧?问题是哪个...:/

因为有几个负担得起的......我的预算是800美元左右。同样,这仅适用于 proc、MB 和内存。我有硬盘。如果我带一个小型 SSD,则在该预算中增加 100 美元。

AMD 飞鸿还是英特尔酷睿 2?与哪个MB一起去?我完全迷失在这里。

如果这将引发 AMD 与 Intel 的激烈战争,我真的很抱歉,因为这不是我的意图 - 但如果你至少可以指出我最近对 ​​Web 服务器构建的一个很好的评论,我将不胜感激。