Отключить Фоди Костура

Есть ли способ отключить Фоди Костура? Мне нужно выполнить некоторые действия по устранению неполадок, и я хочу знать, что проблема не в Фоди Костура. Я бы предпочел отключить его вместо удаления nuget, что было бы одним из решений.

Удаление <Costura/> из конфигурации Fody дает следующую ошибку, так как я не использую никаких других ткачей:

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


person Magnus Lindhe    schedule 15.10.2015    source источник


Ответы (5)


Да, вы можете закомментировать или удалить строку <Costura /> из FodyWeavers.xml

person Cameron MacFarland    schedule 15.10.2015
comment
Это не работает, так как это единственный ткач, который я использую. - person Magnus Lindhe; 15.10.2015
comment
Это работает для меня - я случайно обнаружил, что при переустановке Costura файл FodyWeavers.xml был очищен. Проверка манифеста IL подтвердила, что сборки не были внедрены, а выходные данные сборки показали, что Costura не нашла никаких ткачей. - person SteveCinq; 09.09.2018
comment
Это работает и для меня. Но мне пришлось перестроить проект, чтобы он заработал. - person Maxter; 26.04.2019

Насколько я знаю, отключить Costura невозможно, но вы можете исключить все свои ссылки вручную:

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

Обратите внимание, что он не включает расширение .dll/.exe (это Foo вместо Foo.dll).

Кроме того, если вы встраиваете собственную / неуправляемую dll, убедитесь, что вы переключили действие сборки этих библиотек на None

Для получения дополнительной информации: https://github.com/Fody/Costura#excludeassemblies

person CXO2    schedule 06.12.2015
comment
Я думаю, что это должен быть принятый ответ. Это действительно работает, если у вас установлен только один ткач (я только что проверил его), он чистый, совместим с более высокими версиями, не связывается с файлами проекта и выдает сообщение об ошибке Error 8 Fody: для применения требуется повторная сборка. изменения из «C:\Foo\Bar\FodyWeavers.xml». ФуБар. Но угадайте, что вам нужно сделать :-) - person Xan-Kun Clark-Davis; 23.05.2017
comment
И вы можете оставить текущую версию Costura установленной для проекта. Это доставило одну головную боль однажды, когда я установил более новую версию, которую я сначала не заметил при повторной активации (создал огромные проблемы с Newtonsoft.Json). - person Xan-Kun Clark-Davis; 23.05.2017

откройте файл .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">
person shakram02    schedule 30.09.2016
comment
Есть больше строк для удаления, если вы использовали командную строку Install-CleanReferencesTarget в консоли диспетчера пакетов: также удалите все строки от <UsingTask TaskName="CosturaCleanup" .... до </UsingTask> - person Elliott Addi; 22.02.2017
comment
Это правда, скрипт удаления, похоже, не замечает эти строки. - person Xan-Kun Clark-Davis; 23.05.2017

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

<DisableFody Condition="'$(Configuration)' == 'Debug'">true</DisableFody>
person Chéyo    schedule 11.04.2018
comment
Это решение отключает все. Я хочу отключить только Costura. - person Billy Jake O'Connor; 17.07.2019

Я знаю, что это старый поток, но я также добился успеха, включив пустой раздел IncludeAssemlies в FodyWeavers.xml. Затем Costura не включает ни одного.

 <IncludeAssemblies>
  </IncludeAssemblies> 
person Tephyrnex    schedule 16.04.2021