如何在调试模式下禁用Costura.Fody资源嵌入?

时间:2016-02-08 09:51:48

标签: c# visual-studio fody fody-costura

我使用Costura.Fody将所有dll嵌入到我的应用程序集中。

有没有办法在Debug构建模式下禁用Costura.Fody?如何使Costura.Fody仅在Release或自定义构建配置中工作?

3 个答案:

答案 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>

这样,如果有软件包更新,则无需再次修改文件