@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

Ответы на вопрос(1)

Ваш ответ на вопрос