Как распространить ASP.NET MVC View в виде пакета NuGet - PullRequest
0 голосов
/ 29 октября 2019

У меня есть ASP.NET MVC View, который я использую для конфигурации, которая мне нравится. Я могу получить доступ к этому виду, перейдя к /super-config. Я хотел бы иметь возможность повторно использовать это представление в моих приложениях ASP.NET MVC. В идеале я хотел бы иметь возможность распространять представление в виде пакета NuGet. Затем, если я добавлю пакет NuGet в новое приложение ASP.NET MVC, я могу затем перейти к /super-config в приложении ASP.NET MVC, и оно будет работать.

Есть ли способ сделать этов ASP.NET MVC? Если да, то как?

1 Ответ

0 голосов
/ 29 октября 2019

В документах ASP.NET Core есть страница с названием Совместное использование контроллеров, представлений, страниц Razor и других компонентов приложения в ASP.NET Core . У них есть следующий фрагмент кода:

public void ConfigureServices(IServiceCollection services)
{
    // Requires using System.Reflection;
    // Requires using Microsoft.AspNetCore.Mvc.ApplicationParts;
    var assembly = typeof(MySharedController).GetTypeInfo().Assembly;
    var part = new AssemblyPart(assembly);
    services.AddMvc()
        .ConfigureApplicationPartManager(apm => apm.ApplicationParts.Add(part))
        .SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}

Прошло много лет с тех пор, как я использовал .NET Framework версию ASP.NET MVC и больше не помню, как это сделать. В течение двух минут я не мог найти ответ, который искал. Должен быть API, в котором вы сообщаете MVC, какие дополнительные сборки нужно искать для контроллеров MVC. Но я нашел эту запись в блоге , которая может помочь. Конечно, через несколько секунд после того, как я опубликовал этот ответ, я обнаружил запись в блоге с информацией, которую я искал, непосредственно под ссылкой на другую запись в блоге, которую ясвязаны между собой. В любом случае, в этом блоге показано, как это сделать, хотя я вообще не рекомендую использовать Assembly.Load. Вместо этого используйте typeof(MyController).Assembly.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...