问题标签 [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.
c# - 在 Visual Studio 2015 中调试时“找不到 SignTool.exe”
我在 Visual Studio 中编写了一个需要外部库的简单程序。当我调试它时,一切都很顺利。
因为我想单独分发 exe 而没有 dll,所以我安装了 Costura,清除所有以前的构建,然后按调试。奇怪的是弹出错误“SignTool.exe not found”错误。但是我没有发布exe,我只是想构建它,怎么会弹出这个错误?
即使我卸载了 Costura,这个问题仍然存在。
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 中定义的类型不是嵌入到我的资源库中了吗?
c# - 如何将 Visual Studio 中的资源设置为“嵌入”?持久性是灰色的
我想为我编写的程序构建一个可执行文件(exe),但这使用了来自第三方的非托管库。Costura.Fody 允许通过将非托管库添加到costura32
orcostura64
文件夹然后作为嵌入式资源来嵌入非托管库,但是当我在 MSDN 上的这篇文章之后尝试执行后者时,资源持久性设置为已链接,我无法更改它。文章还指出,文件资源始终是链接的。
那么我应该如何将第三方DLL添加为嵌入式资源呢?
c# - 使用带有 roslyn 运行时编译的 NuGet 包
是否可以使用带有运行时编译的 NuGet 包?
我必须在运行时编译一个 EXE,并希望将引用的 .dll 嵌入到我的最终 .EXE 中以得到一个文件。
有一个 NuGet 包可以在构建时执行此操作:https ://github.com/Fody/Costura
我简要阅读了这些文件,但似乎我的用例将是一个未记录的用例。我希望这里有人有类似的经历。
c# - 如何使用 Costura 嵌入 DLL 的本机依赖项?
我想将我的应用程序作为单个.exe
文件分发。
为此,我使用Costura.Fody
嵌入我的应用程序的依赖项。但是,依赖项本身具有本机依赖项(PdfiumViewer
NUGet 包)。最初,这些位于x86
/x64
文件夹中,但我将它们分别移动到costura32
/costura64
并将它们设置为Embedded resource
.
当我构建项目时,输出选项卡显示PdfiumViewer.dll
已嵌入。但是当我运行程序时,有一个异常来自PdfiumViewer.NativeMethods
.
我可以实现单个.exe
文件吗?(我在.NET 3.5
)
由于本地依赖具有相同的名称(pdfium.dll
),我相信这个问题是相关的。
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。
还有其他人有问题/知道如何解决吗?
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,可能面临同样的问题。
c# - 具有嵌入式依赖项的 Fody/Costura 二进制文件缺少标题栏填充
在尝试首先使用 ILMerge 和 Fody/Costura 嵌入我的项目依赖项之后,我都面临着同样的问题。
标题栏高度似乎缩小了。VS2015 调试二进制文件和发布二进制文件(没有嵌入依赖项)具有适当的高度和填充(如您在屏幕截图中所见)。不幸的是,包含一个图标并不能解决问题。我是否必须在 Costura XML 中包含其他内容?
我错过了什么?
.NET 框架 4.6
编辑:
显然我的问题是由于使用 FixedDialog 作为 FormBorderStyle。对于任何固定样式,在嵌入依赖项后填充将消失。但它与 Sizeable (Default) as FormBorderStyle 一起工作得很好。
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# 库项目中所需的任何帮助,将不胜感激。