(使用翻译。) 我正在使用 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
我也有这个警告。但它对我来说效果很好。所以这不是导致您出现问题的警告。
在我看来,可能是因为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 文件
看起来像之前的答案,我这样摆脱了警告:
<IncludeAssets>runtime; compile; build;.....
实际上,错误消息告诉您该怎么做: “...建议完全删除 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 执行此操作。