.net core 如何在.NET核心或.NET标准中正确设置Fody.Costura

.net core 如何在.NET核心或.NET标准中正确设置Fody.Costura,.net-core,.net-standard-2.0,fody,fody-costura,.net Core,.net Standard 2.0,Fody,Fody Costura,我无法在.NETCore2.1或.NETStandard2.0库中运行Fody.Costura。wiki和open问题似乎并没有直接回答与经典的.NET Framework项目(.exe或.dll)不同之处 出于测试目的,我创建了4个项目: 一个经典的.NET Framework.exe和一个.dll 一个.NETCore2.1.dll 一个.NET标准2.0.dll 我在所有项目中添加了Fody(最新的5.1版)和Costura(最新的4.0版) 然后我为所有项目创建了完全相同的FodyW

我无法在.NETCore2.1或.NETStandard2.0库中运行Fody.Costura。wiki和open问题似乎并没有直接回答与经典的.NET Framework项目(.exe或.dll)不同之处

  • 出于测试目的,我创建了4个项目:

    • 一个经典的.NET Framework.exe和一个.dll
    • 一个.NETCore2.1.dll
    • 一个.NET标准2.0.dll
  • 我在所有项目中添加了Fody(最新的5.1版)和Costura(最新的4.0版)

  • 然后我为所有项目创建了完全相同的FodyWeaver.xml

  • 我让所有项目都依赖于Newtonsoft.Json(根据Nuget添加了它,并在每个项目中创建了一个使用Newtonsoft.Json的类)

  • 我构建了它们并检查了输出->Newtonsoft.Json不在预期的输出目录中。但是,当使用ILSpy查看创建的.dll文件时,只有.NET Framework项目中的二进制文件包含一个资源文件夹,其中包含Newtonsoft.Json.dll

  • 根据我在维基上读到的,应该没有进一步的设置。这些问题并不是说,即使有改进等,也不支持.NET核心和标准。有人知道怎么在这里工作吗?对我不认识的医生有什么提示吗

    NET核心和标准项目的最终dll应该包括Newtonsoft.Json.dll

    更新1
    如果我在FodyWeavers.xml文件中显式添加IncludeAssemblies='Newtonsoft.Json',则程序集将作为资源(在.NET核心和标准中)包含。这是预期的行为吗?

    Costura应仅用于顶级项目(exe)

    Hi@Simon,这些项目互不依赖(互不引用)。为了测试的目的,我只做了一个不同项目类型的解决方案。那么这仍然是真的吗?有关详细信息,请参阅我的最新更新。@stev-e如果没有可下载的复制程序,很难找出问题所在。我建议你提出一个问题并遵循问题模板你解决了这个问题吗?我目前面临着同样的问题。