FC2ブログ
ASP.NET MVC のビューでnameof とか使いたいよとか
C#のバージョン6 以降からいろいろと機能が追加されて、nameof とか null伝番?とか
使えるようになっていろいろと便利(コンパイラの名称は Roslyn )。
でも、そのままではMVC のビューではなぜか使えない。
※最近は新規作成で下記のパッケージが入っているので気にしなくてもいいかも。
昔のプロジェクトにはそんなのはなかった('A`)y~~~
ビューは実行時にコンパイルされるので、OSに搭載されている.net のコンパイラが使用される。
なので、このバージョンが古いから使えなのが原因。

で、ビューでも使えるようにするためのNugetには次のようなパッケージが存在する。
Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Microsoft.Net.Compilers

この二つを追加すると、web.config にビュー側でRoslynを使う設定が追記される。
また、ビルド時に、/bin/roslyn というディレクトリが作られこの中に、コンパイラがコピーされる。

どこかのサイトで見た覚えがあるのだけど、Webサイトにデプロイすると動かなないらしい。
配置された /bin/roslyn の実行ファイルにアクセス権がないとか。
試しに実験したら普通にデプロイできて、実行してC#6の機能が動作するところまで確認した。 アプリケーションプールもデフォルトのApplicationPoolIdentity を使っている。 もしかしたら、カスタムアカウントに、/bin/roslyn への実行権限がないとかそういう
問題だったのかもしれない

スポンサーサイト
Comment
コメントを投稿する
Trackback
trackback URL
→http://hssamurai.blog62.fc2.com/tb.php/110-fe07a55d
TOP
プロフィール

hssamurai

Author:hssamurai
FC2ブログへようこそ!

最新記事
最新コメント

最新トラックバック

月別アーカイブ
カテゴリ