@ringord, я имею в виду, что MvcRazorCompileOnPublish не будет работать без MvcConfiguration
ою веб-сайт, используя asp.net core mvc, и для входа в систему я добавил зависимость для файла enc.dll, который просто шифрует / дешифрует информацию пользователя. Я создал класс Seeder с файлом enc.dll, который имеет свойство key и en / decrypt с ключом. Затем я добавил его в свой сервис, чтобы использовать функцию внедрения зависимостей.
services.AddSingleton<ISeeder, Seeder>();
Хотя он хорошо работает, когда я вызываю enc, dec функцию класса seeder, он не возвращает никакой ошибки. Ниже приведен пример кода.
private readonly ISeeder seed;
public AccountController(ISeeder seed)
{
this.seed = seed;
}
[HttpGet]
public IActionResult test()
{
string s = seed.Enc("testEncode");
return Json(s);
}
Так что это работает, когда я возвращаю строку s, созданную экземпляром seed.
но это не работает, когда я пытаюсь вернуть представление без использования экземпляра seed и выдачи ошибки, где Enc - библиотека dll, которую я использую.
InvalidOperationException: Cannot find compilation library location for package 'Enc'
Microsoft.Extensions.DependencyModel.CompilationLibrary.ResolveReferencePaths(ICompilationAssemblyResolver resolver, List<string> assemblies)
И ниже мой код Seeder.
private Enc enc;
private readonly EncKey key;
public Seeder(IOptions<EncKey> options)
{
enc = new Enc();
key = options.Value;
}
public string Dec(string toDec)
{
return enc.Dec(toDec, key.EncryptKey);
}
public string Enc(string toEnc)
{
return enc.Enc(toEnc, key.EncryptKey);
}
Может ли кто-нибудь помочь? Я работаю в среде .net core 2.0