5

Tôi đã có một gói nuget có pannel điều khiển mvc riêng của mình, với bộ điều khiển, quan điểm và tuyến đường.Làm cách nào để nhúng tệp tài nguyên lúc xây dựng trong Visual Studio 2017?

Gói nuget này được nhập vào các ứng dụng web lõi khác .net.

Tại Visual Studio 2015, với lõi .net, tôi đã sử dụng mã sau đây để biên dịch chế độ xem thành tài nguyên, cho phép chúng được tìm thấy bằng công cụ dao cạo và sau đó hiển thị chính xác.

Tại project.json (NuGet):

"buildOptions": { 
    "embed": "**/Views/**/*.cshtml" 
    } 

Tại Startup.cs (ứng dụng web):

public void ConfigureServices(IServiceCollection services) 
{ 
    services.Configure<RazorViewEngineOptions>(options => 
    { 
     options.FileProviders.Add(new CompositeFileProvider(
      new EmbeddedFileProvider(
       typeof(HomeController).GetTypeInfo().Assembly, 
       "Some.Namespace")) 
        ); 
    }); 

    return new IuguPortalBuilder(services); 
} 

Trong Visual Studio 2017, các file.doesn't project.json tồn tại nữa, và tôi không thể tìm thấy một cách mới để nhúng các khung nhìn của tôi vào gói nuget.

Tôi làm cách nào để nhúng chế độ xem của mình?

Trả lời

10

Trong Solution Explorer click phải vào file mong muốn, bấm Properties và trong cửa sổ mở thiết Build action để Embedded resource - tất cả như trong những ngày cũ :)

này sẽ tạo ra dòng sau vào *.csproj tập tin của bạn:

<ItemGroup> 
    <EmbeddedResource Include="Views\Home\Index.cshtml" /> 
</ItemGroup> 

Bây giờ MSBuild sẽ thêm tập tin này như là tài nguyên nhúng vào lắp ráp của bạn.

+0

Xin chào @Dmitry! Tôi có thể sử dụng một ký tự đại diện như "Views/*/*. Cshtml" để nhập tất cả các lượt xem của tôi cùng một lúc không? –

+0

@Carlos, tôi không biết, chỉ cần thử và chia sẻ :) – Dmitry

+2

Chỉ cần thử trên VS2017: nó làm việc cho tôi với một định dạng như 'Include =" ** \ Translations \ Resource. *. Resx "' – Myobis

Các vấn đề liên quan