NJsonSchema - генератор кода C # не выводит пространство имен - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть серия файлов схемы JSON, которые я пытаюсь вывести в POCO, и для этой цели загружена библиотека NJsonSchema.CodeGeneration.CSharp. При указании пространства имен для моделей не представляется, что пространство имен фактически выводится в сгенерированные файлы кода. POCO пишутся, но никакое объявление пространства имен не окружает объекты. Я ожидаю, что namespace MyApp.DataModels будет в каждом файле. Что я делаю не так?

Вот соответствующие части кода:

CSharpGeneratorSettings csGenSettings = new CSharpGeneratorSettings() {
    ClassStyle = CSharpClassStyle.Poco,
    HandleReferences = true,
    Namespace = "MyApp.DataModels"
};

var _resolver = new CSharpTypeResolver(csGenSettings);
_resolver.RegisterSchemaDefinitions(swaggerDoc.Definitions);
var generator = new CSharpGenerator(swaggerDoc, csGenSettings, _resolver);
var typeDef = generator.GenerateTypes();

foreach (CodeArtifact codeArtifact in typeDef.Artifacts)
{
    File.WriteAllText(Path.Combine(dirDestination, codeArtifact.TypeName + ".cs"), codeArtifact.Code);
}

1 Ответ

0 голосов
/ 11 ноября 2018

Вызовите этот метод:

https://github.com/RSuter/NJsonSchema/blob/master/src/NJsonSchema.CodeGeneration.CSharp/CSharpGenerator.cs#L83

С вашей коллекцией для рендеринга верхнего / нижнего колонтитула, т. Е. Пространства имен ...

...