ResourceManager возвращает имя файла

У меня есть консольное приложение.net-core 2.0. Это приложение ссылается на библиотеку.net-standard-2.0 с одним файлом ресурсов SqlStatements.resx, который содержит несколько файлов sql.

Конфигурация файла: встроенный ресурс; Не копируй; ResXFileCodeGenerator;

Если я называю это локальным в Visual Studio 2017 в режиме отладки или в режиме выпуска

var result = SqlStatements.somefileName;

Я получаю содержимое файла. Но если запустить код на сервере, я получу что-то вроде:

resources\somefileName.sql;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8

Я запускаю приложение так:

dotnet MyApp.Console.dll

Вы знаете, что может быть причиной этого?

ОБНОВЛЕНИЕ: Код правильный: я проверил с помощью dotpeek dll. Если я запускаю скрипт:

dotnet build SolutionName.sln --configuration -Release

тогда значение в resource.resx выглядит следующим образом

resources\somefileName.sql;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8

Если я делаю сборку в Visual Studio, resx в порядке (я вижу содержимое файлов sql).

1 ответ

Он работал локально, потому что Visual Studio использует MsBuild и не может работать со встроенным ресурсом. Я переместил sqls в код

Другие вопросы по тегам