Я пытаюсь создать простую функцию Azure, которая будет прослушивать тему моей служебной шины:
var test = new PhotoStatsChange();//OK
var entity = message.GetBody<PhotoStatsChange>(new NetDataContractSerializer());//Exception here
Не удалось загрузить файл или сборку 'PhotoManager.Domain, Version = 1.0.0.0,Культура = нейтральная, PublicKeyToken = null 'или одна из ее зависимостей.Системе не удается найти указанный файл.
PhotoManager.Domain
- это сборка, в которой определено PhotoStatsChange
.Но я полностью сбит с толку сообщением об ошибке (нет внутреннего исключения): как нельзя найти сборку, если она используется в строке выше?
На самом деле PhotoManager.Domain.dll
присутствует в папке /bin/Debug/net461/bin
.
Текст сообщения:
<?xml version="1.0" encoding="UTF-8"?>
<PhotoStatsChange
xmlns="http://schemas.datacontract.org/2004/07/PhotoManager.Domain.Caching"
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/"
z:Id="1"
z:Type="PhotoManager.Domain.Caching.PhotoStatsChange"
z:Assembly="PhotoManager.Domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null">
<CacheRebuilt>false</CacheRebuilt>
<InstanceNum z:Id="2">IN_0</InstanceNum>
</PhotoStatsChange>
Обновление
Я создал простой пример со сборкой, который содержит один класс POCO и не имеет никаких внешних зависимостей (только те, которыепо умолчанию добавляется как System
, System.Data
и т. д.).И даже в этом случае у меня такое же исключение.
Некоторые заметки
- Настройка
Copy Local
не помогает - Проблема отсутствует при использовании по умолчаниюСериализатор (
Microsoft.ServiceBus.Messaging.DataContractBinarySerializer
)
Так что кажется, что есть проблема при использовании NetDataContractSerializer
внутри функций Azure.