如何在调试模式下禁用 Costura.Fody 资源嵌入
本文关键字:Fody Costura 资源 调试 模式 | 更新日期: 2023-09-27 18:33:42
我正在使用Costura.Fody将所有dll嵌入到我的应用程序程序集中。
有没有办法在调试构建模式下禁用Costura.Fody?如何使Costura.Fody仅在发布或自定义构建配置中工作?
一种解决方案可能是检查您的.csproj
文件并向与Fody相关的行添加条件。像这样:
<Content Include="FodyWeavers.xml" Condition=" '$(Configuration)' == 'Release' " />
<Import Project="..'..'packages'Fody.1.29.4'build'dotnet'Fody.targets" Condition="Exists('..'..'packages'Fody.1.29.4'build'dotnet'Fody.targets') And '$(Configuration)' == 'Release' " />
当然,这主要适用于您不希望任何 Fody 扩展在某些构建环境中运行的简单用例。
默认情况下Costura.Fody
包只会在*.csproj
文件中添加一行:
<Import Project="Fody.targets" />
将其替换为
<Import Project="Fody.targets" Condition=" '$(Configuration)' == 'Release' " />
根据Costura Github的说法,更好的方法是打开.csproj
并将以下行插入第一行<PropertyGroup>
:
<DisableFody Condition="'$(Configuration)' == 'Debug'">true</DisableFody>
这样,如果有包更新,您就不必再次修改文件