2016-10-18 43 views
4

私はASP.NET Coreアプリケーションを持っています。 project.jsonで私はasp.netコアWebプロジェクトのためにVS 2015で作成されたデフォルトのプロジェクトテンプレートを使用しています再帰的にcshtmlファイルを作成する公開オプション

"publishOptions": { 
    "include": [ 
     "wwwroot", 
     "**/*.cshtml", 
     "appsettings.json", 
     "appsettings.development.json", 
     "appsettings.staging.json", 
     "appsettings.production.json", 
     "web.config" 
    ] 
    }, 

以下のように構成されたパブリッシュオプションがあります。したがって、ファイル.cshtmlはすべてViewsの下にあります。

私はdotnet publish -c DevelopmentコマンドDOTNETが

Cの下の見解発行し、実行:\ MySolutionDir \ SRC \ MyUIProjectDir \ binに\開発\ netcoreapp1.0 \その後、私は同じことを実行\ビュー

を公開しますコマンドを再度実行します。今回はCSHTMLファイルが存在し、すでにので、この時間は、コマンドは、さらに次のフォルダ構造を作成し、公開しbin\Development\netcoreapp1.0\publish\Views下に存在する

C:\ MySolutionDir SRC \ MyUIProjectDir \ binに\開発\ netcoreapp1.0 \開発\ \ \ビンを公開\私は再度コマンドを実行した場合netcoreapp1.0 \ \ビュー

を公開し、それは

C作成:\ MySolutionDir \ SRC \ MyUIProjectDir \ binに\開発\ netcoreapp1.0 \ \ビン\開発を公開します\ netcoreapp1.0 \ publish \ bin \ Development \ netco reapp1.0 \ publish \ Views

「MyUIProjectDir」の下の.cshtmlファイルを基本的に再帰的に検索し、Viewsフォルダの深い階層を作成し続けます。

も、私は他の環境を持って、またコマンドを発行コピーが「ステージング」と開発への「生産」からCSHTML

C:\MySolutionDir\Src\MyUIProjectDir\bin\Staging 
C:\MySolutionDir\Src\MyUIProjectDir\bin\Production 

のようなフォルダがあります。

私はこの問題を解決するにはどうすればよいので、「MyUIProjectDir \ビュー」フォルダから(ただし、ビンから)コマンドにのみコピーCSHTMLを公開

+1

"**/* .cshtml"を "Views"に置き換えるとどうなりますか? **/*パターンはwwwrootフォルダ内のファイルも検索します – Set

答えて

3

**/*パターンもwwwrootフォルダにファイルを探します。あなたは、2つのオプションがあります:

  • 変更**/ *.cshtmlパターンは、特定のフォルダに.cshtmlを検索、または直接(私は推測Views)をご.cshtmlファイルとフォルダが含まれるように:

    "publishOptions": { 
        "include": [ 
         "wwwroot", 
         "Views", 
         ... 
        ] 
    } 
    
  • .cshtmlファイルを公開対象から除外するこれはwwwrootフォルダーにあります。 publishOptionsexcludeセクションを使用します。

    "publishOptions": { 
        "exclude": [ 
         "wwwroot/*.cshtml" 
        ] 
    
2

**を含むソリューションでどこでも検索しますので、あなたがあなたのViewsフォルダを含める必要がありますSet said in his commentとして、 wwwrootフォルダー。

**がプロジェクトのルートフォルダから再帰的に検索するため、他の環境フォルダからコピーされた.cshtmlファイルの動作と同じです。

"publishOptions": { 
    "include": [ 
     "wwwroot", 
     "Views", 
     "appsettings.json", 
     "appsettings.development.json", 
     "appsettings.staging.json", 
     "appsettings.production.json", 
     "web.config" 
    ] 
    }, 
0

私のために働いた唯一のことは、明示的にビンやOBJフォルダを除外することでした。

"publishOptions": { 
"include": [ 
    "wwwroot", 
    "Views", 
    "appsettings.json", 
    "web.config" 
], 
"exclude": [ 
    "bin", 
    "obj" 
] } 

は、私はまた、公開前 のAppData \ローカル\ tempに\ PublishTempフォルダにeverthingを削除する必要がありました。私はPublishTempフォルダからすべてを削除するまで何らかの理由で古い設定を使用していました。

関連する問題