我使用Costura.Fody将所有dll嵌入到我的应用程序集中。
有没有办法在Debug构建模式下禁用Costura.Fody?如何使Costura.Fody仅在Release或自定义构建配置中工作?
答案 0 :(得分:14)
一种解决方案可能是检查您的.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扩展程序在某些构建环境中运行的简单用例。
答案 1 :(得分:6)
默认情况下,angular.copy()
包只会在Costura.Fody
文件中添加一行:
*.csproj
将其替换为
<Import Project="Fody.targets" />
答案 2 :(得分:2)
根据Costura Github,更好的可能性是打开.csproj
并将以下行插入第一个<PropertyGroup>
中:
<DisableFody Condition="'$(Configuration)' == 'Debug'">true</DisableFody>
这样,如果有软件包更新,则无需再次修改文件