Из памяти спецификация явно не гарантирует поведение в любом случае, когда дело доходит до эквивалентности делегатов, созданных с помощью анонимных методов.
Если вам нужно отказаться от подписки, вы должны либо использовать «нормальный», метод или сохранить делегата где-то в другом месте, чтобы вы могли отказаться от подписки с точно таким же делегатом, которого вы подписали.
Похоже, что файл app.config не был настроен для наблюдения с помощью log4net.
Я добавил следующую строку в AssemblyInfo.cs
, и теперь ведение журнала включено:
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
Странно, так как я не добавил эту строку в проект, который работал.
РЕДАКТИРОВАТЬ:
Похоже, что в проекте, который работал, все-таки была строка. Я, должно быть, забыл.
// This will cause log4net to look for a configuration file
// called [ThisApp].exe.config in the application base
// directory (i.e. the directory containing [ThisApp].exe)
// The config file will be watched for changes.
[assembly: log4net.Config.XmlConfigurator(Watch = true)]