Я хочу разместить My Project Razor Pages в другой сборке. для этого я пишу следующий код:
public void ConfigureServices(IServiceCollection services)
{
var adminAssembly = Assembly.Load(new AssemblyName("App"));
services.AddMvc().AddApplicationPart(adminAssembly).AddRazorOptions(options =>
{
var previous = options.CompilationCallback;
options.CompilationCallback = context =>
{
previous?.Invoke(context);
context.Compilation = context.Compilation.AddReferences(
MetadataReference.CreateFromFile(typeof(dodo).Assembly.Location));
};
});
services.Configure<RazorViewEngineOptions>(options =>
{
options.FileProviders.Add(new EmbeddedFileProvider(Assembly.Load("App")));
options.FileProviders.Add(new PhysicalFileProvider(@"C:\Users\soheil\Documents\Visual Studio 2017\Projects\WebApplication5\App"));
});
}
мое решение:
при запуске localhost:5000/SameTodo
Получить следующую ошибку:
Одна или несколько ссылок на компиляцию отсутствуют. Убедитесь, что ваш проект ссылается на Microsoft.NET.Sdk.Web и для свойства PreserveCompilationContext не установлено значение false.
куча:
Не удалось найти тип или имя пространства имен SameTodoModel (вам не хватает директивы using или ссылки на сборку?) + Public global :: Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html {get; частный набор; } Не удалось найти тип или имя пространства имен SameTodoModel (вам не хватает директивы using или ссылки на сборку?) + Public global :: Microsoft.AspNetCore.Mvc.ViewFeatures.ViewDataDictionary ViewData => (global :: Microsoft.AspNetCore .Mvc.ViewFeatures.ViewDataDictionary) PageContext? .ViewData; Не удалось найти тип или имя пространства имен SameTodoModel (вам не хватает директивы using или ссылки на сборку?) + Public SameTodoModel Model => ViewData.Model; Не удалось найти тип или имя пространства имен SameTodoModel (вам не хватает директивы using или ссылки на сборку?) + Public global :: Microsoft.AspNetCore.Mvc.ViewFeatures.ViewDataDictionary ViewData => (global :: Microsoft.AspNetCore. Mvc.ViewFeatures.ViewDataDictionary) PageContext? .ViewData;
и установите для PreserveCompilationContext
значение false, но теперь работает, как я могу решить эту проблему?