5

私はコントローラ、ビュー、ルートを持つ独自のmvcコントロールpannelを持つナゲットパッケージを持っています。Visual Studio 2017のビルド時にリソースファイルを埋め込む方法は?

このナゲットパッケージは、他の.netコアWebアプリケーションにインポートされます。

.net coreを使用したVisual Studio 2015では、次のコードを使用してビューをリソースとしてコンパイルし、それらを剃刀エンジンで見つけて正しく表示できるようにしました。 project.json(nuget)で

:Startup.cs(Webアプリケーション)で

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

:Visual Studioの2017年に

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); 
} 

、project.jsonのfile.doesn'tが存在しますもう、ナゲットパッケージに自分の意見を埋め込む新しい方法を見つけることができません。

ビューを埋め込むにはどうすればよいですか? Solution Explorer

答えて

10

右、目的のファイルをクリックしてPropertiesをクリックし、開いたウィンドウでEmbedded resourceBuild action設定 -

これはあなたの*.csprojファイルに次の行を作成します:)昔のすべてのように:

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

これで、MSBuildは組み込みリソースとしてこのファイルをアセンブリに追加します。

+0

こんにちは@ドミトリー! "Views/*/*。cshtml"のようなワイルドカードを使って、一度にすべてのビューをインポートできますか? –

+0

@Carlos、私は分かりません。ただ試して共有してください:) – Dmitry

+2

VS2017で試したところ、 'Include =" ** \ Translations \ Resource。*。resx " – Myobis

関連する問題