2015-10-15 3 views
0

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

Удаление <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

ответ

1

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

+1

Это не работает, так как это единственный ткач я использую. –

+0

Нет. Это действительно не работает. –

+0

Это сработало для меня. Вы делаете это неправильно, если это не работает для вас. –

3

AFAIK, нет способа отключить Costura, но вы можете исключить все свои рекомендации вручную:

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

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

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

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

+0

Я думаю, что это должен быть принятый ответ. Это действительно работает, если у вас есть только один ткач, установленный (просто протестированный), он чист, совместим с ним, не работает с файлами poject и выдаст вам сообщение об ошибке «Ошибка 8 Fody: требуется повторная сборка примените изменения из «C: \ Foo \ Bar \ FodyWeavers.xml». \t FooBar ». Но угадайте, что вам нужно сделать :-) –

+0

И вы можете сохранить текущую версию Costura, установленную для проекта. Это дало одну головную боль один раз, когда я установил более новую версию, которую я не замечаю сначала, когда «реактивирую» ее (сделал огромные проблемы с Newtonsoft.Json). –

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"> 
+0

Есть больше строк для удаления, если вы использовали командную строку 'Install-CleanReferencesTarget' в консоли диспетчера пакетов: также удалите все из строки' ' –

+0

Это правда, сценарий удаления, по-видимому, обманывает эти строки. –

Смежные вопросы