Я пытаюсь написать единичный тест, который обращается к ресурсу, который я связал с проектом. Вот общая структура. Ресурс имеет строки, предназначенные для использования MyLibClass и класс установлен в en-US
Как получить доступ к встроенному ресурсу в DLL .Net из другой (тестовой) .Net dll?
Solution1
--MyLibrary
--Properties
--AssemblyInfo.cs
--Resources.resx
--Resource.Designer.cs
--References
--MyLibClass.cs
--MyLibrary.Tests
--Properties
--AssemblyInfo.cs
--References
--MyLibClassTests.cs
--MainProject
тест должен создать класс и передать ей ResourceManager, потому что я пытаюсь использовать Dependency Injection. Я получаю ошибку ниже, когда пытаюсь загрузить, используя код ниже в тесте.
Поскольку ресурс встроен в MyLibrary.dll, к которому относится приложение MyLibraryTest.dll?
resmgr = new ResourceManager("MyLibrary",
Assembly.GetExecutingAssembly());
Ошибка в NUnit
MyLibrary.Tests. MyLibClassTests.IsInValidMyProperty_Blank:
An unexpected exception type was thrown
Expected: System.ArgumentException
but was: System.Resources.MissingManifestResourceException : Could not find any
resources appropriate for the specified culture or the neutral culture. Make sure
"MyLibrary.resources" was correctly embedded or linked into assembly "MyLibrary.Tests"
at compile time, or that all the satellite assemblies required are loadable and
fully signed.
Так, подумав об этом, DLL файлы находятся в отдельных папках проекта.
Есть ли лучший способ приблизиться к этому?
executingassembly Ваш длл тест, вы хотите сборку, вы проверяете –