C# - 为什么 costura 和 fody 对我不起作用?

问题描述 投票:0回答:3

(使用翻译。) 我正在使用 Costura 和 Fody 制作一个 exe 文件。但是,如果缺少dll文件,则无法运行。我的 Visual Studio 中出现警告。 警告:

FodyPackageReference Fody: The package reference for Costura.Fody is missing the 'compile' part in the IncludeAssets setting; it's recommended to completely remove IncludeAssets

exe fody fody-costura
3个回答
14
投票

我也有这个警告。但它对我来说效果很好。所以这不是导致您出现问题的警告

在我看来,可能是因为costura版本不适合你的项目。 您可以尝试旧版本。

对于我来说,我的项目使用的是.NET Framework 4.6,最新的costura.fody 5.3版本不兼容。但 5.2 工作正常。

以及如何删除警告: (编辑csproj文件)

找到下面并注释“

IncludeAssets
”行,如下(通过添加
<!-- -->

    <ItemGroup>
    <PackageReference Include="Costura.Fody">
    <Version>5.2.0</Version>
    <!--<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>-->

如果您不知道如何编辑此文件,可以在此处找到步骤:如何编辑 .csproj 文件


4
投票

看起来像之前的答案,我这样摆脱了警告:

  1. 双击项目节点
  2. 在 CSPROJ 文件中添加“compile;”:
    <IncludeAssets>runtime; compile; build;.....
  1. 重新加载项目

1
投票

实际上,错误消息告诉您该怎么做: “...建议完全删除 IncludeAssets”。

更具体地说,在您的项目文件( .csproj 或 .vbprog )中找到它作为示例的位置:

  <PackageReference Include="Fody">
  <Version>6.3.0</Version>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
  <PrivateAssets>all</PrivateAssets>
  </PackageReference>

并将其更改为:

    <PackageReference Include="Fody">
    <Version>6.3.0</Version>
    <PrivateAssets>all</PrivateAssets>
    </PackageReference>

(即完全删除 行)。

在适用的情况下,对 Costura 和 Fody 执行此操作。

© www.soinside.com 2019 - 2024. All rights reserved.