问题标签 [fody-costura]

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 投票
1 回答
800 浏览

c# - 在 Visual Studio 2015 中调试时“找不到 SignTool.exe”

我在 Visual Studio 中编写了一个需要外部库的简单程序。当我调试它时,一切都很顺利。

因为我想单独分发 exe 而没有 dll,所以我安装了 Costura,清除所有以前的构建,然后按调试。奇怪的是弹出错误“SignTool.exe not found”错误。但是我没有发布exe,我只是想构建它,怎么会弹出这个错误?

即使我卸载了 Costura,这个问题仍然存在。

0 投票
0 回答
419 浏览

c# - C# 程序集嵌入和程序集解析

我正在尝试构建我办公室的其他工程师可以使用的样式和控件组件。例如,我有一个派生自 WPFToolKit 的 DoubleUpDown 控件的类型 (MSpinner)。我也有一套用于这个 MSpinner 控件的样式。

在测试可执行文件中,我使用此处详述的技术来访问资源,我也遵循该技术来创建资源程序集。

我还在资源库上使用来自 NuGet 的 Costura.Fody 程序集嵌入工具,以便我可以将 WPFToolKit 程序集嵌入到我的资源库程序集中。

我的资源库程序集构建得很好。然后,我继续使用我的资源库程序集作为新的测试 WPF 可执行文件中的参考。

我的用法如下。

但是,当我编译可执行文件时,出现以下错误。

严重性代码描述项目文件行抑制状态错误未知的构建错误,'无法解析对程序集'Xceed.Wpf.Toolkit,版本= 2.7.0.0,文化=中性,PublicKeyToken = 3e4669d2f30244f4'的依赖,因为它尚未预加载。使用 ReflectionOnly API 时,必须通过 ReflectionOnlyAssemblyResolve 事件预加载或按需加载依赖程序集。第 24 行位置 10。UIPart C:\Users\heyyouthere\Documents\Visual Studio 2015\Projects\ResourceDictionaryExample\UIPart\MainWindow.xaml 24

我在这里的第一个想法是 Costura.Fody 没有做好它的工作并且没有嵌入 WPF.ToolKit 程序集,但实际上,根据生成的资源库程序集的字节大小,当 Costura 时确实更大.Fody 的嵌入被执行。

然后我想继续并在可执行文件中引用 WPFToolKit 本身,这听起来有点多余,当然,但为什么不呢。所以我从 NuGet 安装了它,结果错误消失了,一切正常。

但是,这样做对我来说不是解决方案。所有资源和这些资源的所有依赖项都需要合并到我的资源库中,包括 WPFToolkit,我认为这是成功的。

我的问题是为什么大会没有解决?是否有一些签名不匹配?是否在磁盘上明确寻找 Xceed.Wpf.Toolkit.dll 文件?多亏了 Fody,Xceed.Wpf.Toolkit.dll 中定义的类型不是嵌入到我的资源库中了吗?

0 投票
0 回答
431 浏览

c# - 如何将 Visual Studio 中的资源设置为“嵌入”?持久性是灰色的

我想为我编写的程序构建一个可执行文件(exe),但这使用了来自第三方的非托管库。Costura.Fody 允许通过将非托管库添加到costura32orcostura64文件夹然后作为嵌入式资源来嵌入非托管库,但是当我在 MSDN 上的这篇文章之后尝试执行后者时,资源持久性设置为已链接,我无法更改它。文章还指出,文件资源始终是链接的。

那么我应该如何将第三方DLL添加为嵌入式资源呢?

0 投票
0 回答
422 浏览

c# - 使用带有 roslyn 运行时编译的 NuGet 包

是否可以使用带有运行时编译的 NuGet 包?

我必须在运行时编译一个 EXE,并希望将引用的 .dll 嵌入到我的最终 .EXE 中以得到一个文件。

有一个 NuGet 包可以在构建时执行此操作:https ://github.com/Fody/Costura

我简要阅读了这些文件,但似乎我的用例将是一个未记录的用例。我希望这里有人有类似的经历。

0 投票
0 回答
1239 浏览

c# - 如何使用 Costura 嵌入 DLL 的本机依赖项?

我想将我的应用程序作为单个.exe文件分发。

为此,我使用Costura.Fody嵌入我的应用程序的依赖项。但是,依赖项本身具有本机依赖项(PdfiumViewerNUGet 包)。最初,这些位于x86/x64文件夹中,但我将它们分别移动到costura32/costura64并将它们设置为Embedded resource.

当我构建项目时,输出选项卡显示PdfiumViewer.dll已嵌入。但是当我运行程序时,有一个异常来自PdfiumViewer.NativeMethods.

我可以实现单个.exe文件吗?(我在.NET 3.5


由于本地依赖具有相同的名称(pdfium.dll),我相信这个问题是相关的。

0 投票
1 回答
331 浏览

c# - Cotura.Fody 在 JetBrains Rider EAP 中不工作

我正在开发一个项目,它使用了一些库(RestSharp、Newtonsoft.Json、CsQuery),我不想将 exe 与同一目录中的所有 dll 一起使用,所以我还安装了 Costura.Fody,这在我使用 Visual Studio 时有效,但现在我使用的是 JetBrains Rider EAP,并且输出的 exe 文件不包含嵌入式 dll/如果我移动它,它会崩溃,说“无法加载 CsQuery”等。

我正在运行 64 位版本的 Windows 10、Visual Studio 2015 Community Update 3 和 Rider EAP 15。

还有其他人有问题/知道如何解决吗?

0 投票
1 回答
468 浏览

c# - 是否可以使用 Fody.Costura 将多个 dll 文件(参考)嵌入到最终的 dll 文件中?

如标题所述:

是否可以使用 Fody.Costura 将我的引用(.dll 文件)嵌入到我最终编译的 .dll 文件中?

我很确定我做了正确的设置,但我看不出用安装的 Fody.Costura 编译的 .dll 文件和没有它的任何区别。而且它总是一样的大小。我做错了还是仅适用于 .exe 文件?

干杯,雅各布。

@edit 刚刚找到这个帖子: Cotura.Fody Not Working In JetBrains Rider EAP

我没有使用 Visual Studio,我也在使用 Rider EAP,可能面临同样的问题。

0 投票
0 回答
280 浏览

c# - 具有嵌入式依赖项的 Fody/Costura 二进制文件缺少标题栏填充

在尝试首先使用 ILMerge 和 Fody/Costura 嵌入我的项目依赖项之后,我都面临着同样的问题。

标题栏高度似乎缩小了。VS2015 调试二进制文件和发布二进制文件(没有嵌入依赖项)具有适当的高度和填充(如您在屏幕截图中所见)。不幸的是,包含一个图标并不能解决问题。我是否必须在 Costura XML 中包含其他内容?

我错过了什么?

.NET 框架 4.6

VS2015 调试左侧 - Costura 构建右侧

编辑:

显然我的问题是由于使用 FixedDialog 作为 FormBorderStyle。对于任何固定样式,在嵌入依赖项后填充将消失。但它与 Sizeable (Default) as FormBorderStyle 一起工作得很好。

0 投票
3 回答
2845 浏览

c# - 如何解压缩 Fody.Costura 打包程序集

我的一个朋友向我提出了解压装有 Fody.Costura 的程序集的挑战。该程序集具有作为资源嵌入的 dll 依赖项。我尝试使用 dotPeek 提取此 .zip 资源并在此处使用此代码解压缩它

这在提取 .zip 时有效,但结果非常无用 在此处输入图像描述

有没有合适的解决方案来解压这个打包的 dll?

0 投票
1 回答
352 浏览

c# - 将 OpenCV 程序集与 Costura 合并的问题

目前,我有一个 C++/CLI 包装器项目,它引用了一些 OpenCV dll。然后,我创建的 C# 库项目引用了包装器项目。

使用 Costura,包装器在我的 C# 库中正确合并,但 OpenCV dll 没有被合并(因为它们没有被我的 C# proj 直接引用,并将本地复制设置为 true)。

我将所有 OpenCV 程序集放入costura64位于项目根目录中的文件夹中,并将Unmanaged64Assemblies包含所有必需 OpenCV dll 的元素添加到 weavers xml 中,但无济于事。

我还IncludeAssemblies使用所有必需的 OpenCV dll 将元素添加到 Weavers xml,这会在构建时导致错误:

MSBUILD:错误:Fody/Costura:找不到程序集“成像”(即使是 CopyLocal='false'),请更新配置

我的 Weavers XML 如下所示:

当前所有程序集都有一个Build Action.Embedded Resource

对于将 OpenCV 程序集合并到我的 C# 库项目中所需的任何帮助,将不胜感激。