禁用Fody Costura

时间:2015-10-15 13:08:02

标签: fody fody-costura

有没有办法禁用Fody Costura?我需要执行一些故障排除,我想知道Fody Costura不是问题的一部分。我宁愿禁用它而不是删除nuget,这将是一个解决方案。

从Fody配置中删除<Costura/>会出现以下错误,因为我不使用任何其他编织者:

Fody: No configured weavers. It is possible you have not installed a weaver or have installed a fody weaver nuget into a project type that does not support install.ps1. You may need to add that weaver to FodyWeavers.xml manually. eg. <Weavers><WeaverName/></Weavers>. see https://github.com/Fody/Fody/wiki/SampleUsage

5 个答案:

答案 0 :(得分:4)

AFAIK,无法关闭Costura,但您可以手动排除所有参考:

<Costura>
    <ExcludeAssemblies>
        Foo
        Bar
    </ExcludeAssemblies>
</Costura>

请注意,它不包含.dll / .exe扩展名(Foo而不是Foo.dll

另外,如果要嵌入本机/非托管dll,请确保将这些库的Build Action切换为None

了解更多信息: https://github.com/Fody/Costura#excludeassemblies

答案 1 :(得分:2)

是的,您可以评论或删除<Costura />

中的FodyWeavers.xml

答案 2 :(得分:2)

打开.csproj文件,搜索“fody”,然后删除包含它的所有标签。比如

 <Error Condition="!Exists('..\packages\Fody.1.29.4\build\dotnet\Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Fody.1.29.4\build\dotnet\Fody.targets'))" />
  </Target>
  <Import Project="..\packages\Fody.1.29.4\build\dotnet\Fody.targets" Condition="Exists('..\packages\Fody.1.29.4\build\dotnet\Fody.targets')" />

这些是在此标记之后

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">

答案 3 :(得分:1)

https://github.com/Fody/Costura/issues/143#issuecomment-378612705

<DisableFody Condition="'$(Configuration)' == 'Debug'">true</DisableFody>

答案 4 :(得分:1)

我知道这是一个较旧的线程,但我发现在 FodyWeavers.xml 中包含一个空的 IncludeAssemlies 部分也取得了成功。 Costura 然后不包含任何内容。

 <IncludeAssemblies>
  </IncludeAssemblies>