6

(使用了翻译器。)我正在使用 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

4

3 回答 3

7

我也有这个警告。但它对我来说很好。因此,导致您的问题的不是警告

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

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

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

  1. 在解决方案资源管理器中右键单击您的项目并选择卸载项目右键单击项目(在解决方案资源管理器中标记为不可用)并单击“编辑 yourproj.csproj”。这将打开您的 CSPROJ 文件进行编辑。
  2. 在下面找到并评论“ IncludeAssets”行如下(通过添加<!-- -->
    <ItemGroup>
    <PackageReference Include="Costura.Fody">
    <Version>5.2.0</Version>
    <!--<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>-->
  1. 进行更改后,保存并关闭文件。再次右键单击节点并在完成后选择重新加载项目。
于 2021-05-10T03:54:36.187 回答
3

看起来像以前的答案,我以这种方式摆脱了警告:

  1. 双击项目节点
  2. 在 CSPROJ 文件中添加“compile;”:
    <IncludeAssets>runtime; compile; build;.....
  1. 重新加载项目
于 2021-09-24T04:58:13.313 回答
0

实际上,错误消息告诉您该怎么做:“...建议完全删除 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>

(即完全删除 <IncludeAssets .....> 行)。

为costura 和fody 执行此操作(如适用)。

于 2022-01-01T04:03:33.043 回答