无法让 Costura.Fody 工作,一直要求 DLL

2024-03-04

我已使用 nuget 包将 costura.fody 安装到我的项目中。我已将 FodyWeavers.xml 文件更新为:

<Costura 
Unmanaged32Assemblies='dllname'
Unmanaged64Assemblies='dllname' />

当我重建它并尝试在没有 dll 的单独 PC 上运行 exe 时,它​​不起作用。我错过了什么吗?我还需要添加什么吗?我还尝试过以下操作:

<IncludeAssemblies>
    dllname
</IncludeAssemblies>

感谢您提前的帮助。


我想添加一个元素,当非托管 dll 不正式属于解决方案/项目时,该元素对于它们很重要。

@Adds 正确使用:

<Costura 
Unmanaged32Assemblies='dllname'
Unmanaged64Assemblies='dllname' />

@kdiddymcnasty 谨慎对待双重包含是正确的(但请注意,IncludeAssemblies属性不同于Unmanaged##Assemblies属性)。

然而,还有一个额外的部分,显示在这一页 https://idmedia.no/general/including-sqlite-interop-dll-into-your-c-project/。本质上,您需要在项目中创建一对文件夹,名为Costura32 and Costura64并将适当版本的 dll 放在那里,并将它们设置为“嵌入式资源”。然后,编织者可以在构建解决方案时将它们包含在 exe 中。

就我而言,我使用的是 LibGit2Sharp dll,它依赖于 git2-15e1193.dll,因此我将其作为解决方案的一部分:

对于每个 dll,我都有Build Action set to Embedded Resource:

最后,FodyWeavers.xml 是:

<?xml version="1.0" encoding="utf-8" ?>
<Weavers>
  <costura IncludeDebugSymbls='false'>
    <Unmanaged32Assemblies>
      git2-15e1193
    </Unmanaged32Assemblies>
    <Unmanaged64Assemblies>
      git2-15e1193
    </Unmanaged64Assemblies>
  </costura>
</Weavers>

确保离开.dll关闭 FodyWeavers.xml 文件中的 dll 名称。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法让 Costura.Fody 工作,一直要求 DLL 的相关文章

  • C++ 最大非负整数

    以下内容是否会在所有平台 int 大小等上按预期工作 或者有更容易接受的方法吗 我做了以下的事情 define MAX NON NEGATIVE INT int unsigned int 1 2 我不会通过解释它在做什么来侮辱你的智商 编辑
  • 如何从 OnChange 事件捕获文本框的值

    在我的 C MVC 应用程序中 我有一系列这样生成的文本框 foreach object item in items Html TextBox 渲染的结果是一系列看起来像这样的文本框
  • clang-tidy - 忽略第三方标头代码

    我正在为我的项目使用 CMake 并且我想向项目引入 clang tidy 检查 我用于此目的CMAKE CXX CLANG TIDY and clang tidy用于检查设置的文件 我想在 CI 中使用警告作为错误来可靠地检查提交是否引入
  • ASP.NET Core 测试 - 没有方法 'public static IHostBuilder CreateHostBuilder(string[] args)

    我正在尝试在测试中设置我的应用程序并在中使用Startup s Configure method context Database EnsureCreated 并期待着Sqlite文件出现在Test sbin文件夹 这是我的代码 using
  • Python NET 调用具有返回值和输出参数的 C# 方法

    我有以下静态 C 方法 public static bool TryParse string s out double result 我想使用 Python NET 包从 Python 调用它 import clr from System
  • 类模板的可变参数构造函数模板的特化

    这是一个带有可变参数构造函数的类 它专门用于从临时对象进行复制和移动 template
  • FileStream - “不支持给定路径的格式”

    我正在尝试使用EPPlus http epplus codeplex com 在我们的 LAN 上保存电子表格 我正在使用一个FileStream对象执行此操作 但是每当我尝试实例化该对象时 我都会收到错误 The given path s
  • 恢复多个监视器的窗口大小/位置

    许多帖子都涉及恢复 WinForm 位置和大小 例子 www stackoverflow com questions 92540 save and restore form position and size http www stacko
  • 我应该在查询时调用 ToListAsync()

    不久前 我开始接触 C 并正在寻找一些如何编写代码的最佳实践 现在 我正在使用 EF Core 并具有以下代码 var details dbContext Details Where x gt x Name Button foreach v
  • 如何为用户提供给定 boost::spirit 语法的自动完成建议?

    我正在使用 Boost Spirit 在我的 C GUI 应用程序中为非技术用户构建简单的 数据过滤器 语言 语言与纯英语非常相似 并且可以解析为 AST 我被要求使该过程尽可能对用户友好 因此我希望提供类似 CLang 的错误消息 无法识
  • 自定义文件属性

    我需要遵循 在我的申请中 我有文件 需要随时签入和签出的文件 当我从应用程序中签出文档时 我需要将自定义属性添加到文件中 以便稍后在签入文档时可以识别它 我尝试使用以下代码使用 DSOFile 中的 OleDocumentPropertie
  • 您在 C# 或 .NET 中见过的最奇怪的极端情况是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • gcc总是做这种优化吗? (公共子表达式消除)

    作为示例 假设表达式sys gt pot atoms item gt P kind mass在循环内求值 循环只改变item 因此表达式可以简化为atoms item gt P kind mass通过将变量定义为atoms sys gt p
  • 从 WMI 运行 exe 时的网络身份验证

    我有一个 C exe 需要使用 WMI 运行并访问网络共享 但是 当我访问共享时 我收到 UnauthorizedAccessException 如果我直接运行 exe 则可以访问共享 我在这两种情况下都使用相同的用户帐户 我的应用程序有两
  • 串行端口轮询和数据处理

    我正在尝试通过微控制器从传感器的多个串行端口读取数据 每个串口将接收超过2000个测量值 每个测量值7个字节 全部为十六进制 而且他们同时开火 现在我正在从 4 个串行端口进行轮询 另外 我将每个测量值转换为字符串并将其附加到字符串构建器
  • 为什么这些双精度数的返回值为-1.#IND?

    I have double score cvMatchContourTrees CT1 CT2 CV CONTOUR TREES MATCH I1 0 0 cout lt
  • 使用 std::set 时重载运算符<

    这是我第一次使用 std set 容器 并且我对操作符 std less 遇到了问题 我声明该集合 std set
  • 捕获 System.Exception 总是不好的做法吗?

    请考虑下面的代码 它抛出三个不同的异常 即 System Configuration ConfigurationErrorsException System FormatException and System OverflowExcept
  • C/C++ 中的最小二乘回归

    如何在 C C 中实现因子分析的最小二乘回归 the黄金标准是LAPACK http www netlib org lapack lug node27 html 你特别想要xGELS
  • 如何注销多个非当前用户的会员用户?

    我正在使用属于 MVC2 默认项目一部分的 MembershipProvider 我希望能够获取用户名列表 注销用户 并在需要时销毁他们的会话 我能想到的最接近的是 foreach string userName in UserNames

随机推荐