Microsoft.VisualStudio.Modeling.DomainDataNotFoundException: доменный объект с удостоверением не был найден в каталоге
Я работаю над DSL с помощью DSL Tools в Modeling SDK для Visual Studio 2015.
DSL работает нормально. Проблема возникает, когда я пытаюсь написать некоторые модульные тесты для работы с некоторыми классами, сгенерированными DSL.
Я хочу создать экземпляры некоторых элементов, содержащихся в DSL, а затем протестировать выполнение некоторого кода на них.
у меня есть Feature
класс, который является частью DSL. Он генерируется автоматически и наследуется от ModelElement
(из SDK для моделирования). Я хочу создать его экземпляр и запустить на нем несколько тестов. Его конструктор требует Store
объект (снова из Modeling SDK).
У меня есть следующее:
using (var store = new Store())
using (var transaction = store.TransactionManager.BeginTransaction("create model"))
{
var rootFeature = new Feature(store);
// Do something with rootFeature...
}
Однако это бросок:
Microsoft.VisualStudio.Modeling.DomainDataNotFoundException: доменный объект с идентификатором DSL.Feature не найден в каталоге.
Как так?
1 ответ
У вас проблемы с тем, как вы создаете Магазин. Вам необходимо передать класс модели вашего домена, как в следующем примере:
[TestMethod]
public void TestMethod1()
{
using (Store store = new Store(typeof(EntitiesModel3DomainModel)))
{
using (Transaction trans = store.TransactionManager.BeginTransaction())
{
Entity entity = new Entity(store);
Assert.IsNotNull(entity);
}
}
}
EntitiesModel3DomainModel здесь - модель домена для моего DSL. Вам нужно заменить его своим собственным классом, сгенерированным DomainModel.tt.