Mantalog

~ blog of the Mantarou, by the Mantarou, for the Mantarou ~

ASP.NET CoreでScaffoldingを有効にする

ASP.NET Core Web Applicationのプロジェクトを、認証無しで作成するとScaffoldingが有効になっていない。
そのため、Controllersを右クリックして[追加]を選んでも、[新規スキャフォールディングアイテム]が表示されない。

使いたい場合は下記のようにして有効にする。
まとめて書いて保存してもエラーになるため、2回に分ける必要がある。

1. project.jsonのdependenciesに2行追加して保存する

{
  "dependencies": {
      :
    "Microsoft.VisualStudio.Web.CodeGenerators.Mvc": "1.0.0-preview2-final",
    "Microsoft.VisualStudio.Web.CodeGeneration.Tools": "1.0.0-preview2-final"
  },


2. project.jsonのtoolsに1行追加して保存する

  "tools": {
      :
    "Microsoft.VisualStudio.Web.CodeGeneration.Tools": "1.0.0-preview2-final"
  },

ASP.NET Coreでブラウザキャッシュを無効にする

キャッシュが有効になっていると、画像を更新してもブラウザ上に反映されないことがある。
開発中は邪魔なので無効にすると便利。

/* Startup.cs */
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
    loggerFactory.AddConsole(Configuration.GetSection("Logging"));
    loggerFactory.AddDebug();

    app.UseApplicationInsightsRequestTelemetry();

    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
        app.UseBrowserLink();
        // ここから↓↓
        app.UseStaticFiles(new StaticFileOptions()
        {
            OnPrepareResponse = context =>
            {
                context.Context.Response.Headers.Add("Cache-Control", "no-cache, no-store");
                context.Context.Response.Headers.Add("Pragma", "no-cache");
                context.Context.Response.Headers.Add("Expires", "-1");
            }
        });
        // ここまで追加↑↑
    }

WinMergeの設定ファイルのパス

日本語版しか見てないが、設定はレジストリに書かれていた。

HKEY_CURRENT_USER\Software\Thingamahoochie\WinMerge\

ソースコードのOptionsInit.cppのCMergeApp::OptionsInit()を参照

void CMergeApp::OptionsInit()
{
	// Copy some values from HKLM to HKCU
	CopyHKLMValues();

	static_cast<CRegOptionsMgr *>(m_pOptions.get())->SetRegRootKey(_T("Thingamahoochie\\WinMerge\\"));

OpenFOAMのmakeでエラー

VirtualBox上のUbuntu14.04でOpenFOAM2.4.0をmakeした。
手順は以下の手順に従った。
https://openfoamwiki.net/index.php/Installation/Linux/OpenFOAM-2.4.0/Ubuntu#Ubuntu_14.04

makeしたところ以下のようなエラーが出た。

g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.8/README.Bugs> for instructions.
make: *** [Make/linux64GccDPOpt/GAMGSolver.o] Error 4
make: *** Waiting for unfinished jobs....


原因は以下のURLに書いてあった。
swap領域が無かったためらしい。。。
[SOLVED] g++: internal compiler error: Killed (program cc1plus)

以下の手順に従って、swap領域を追加したらうまくmakeできた。
Ruby - Ubuntu でスワップファイルを追加する方法 - Killed とか (x _ x)ひえー - Qiita

Visual StudioのWeb Essentialsのlessで文字化け

Visual Studio 2012でWeb Essentialsの拡張を入れたのだが、lessで文字化けしてうまくいかなかった。
f:id:mantarou-tarou:20140618205108p:plain

原因は、元のlessファイルがBOM付きだったため。
文字コードを「Unicode (UTF-8 シグネチャなし) - コードページ 65001」(BOM無しUTF-8)に変更したら直った。

文字コードの変更は以下を参考にした。
http://neareal.net/index.php?Programming%2FEnvironment%2FVisualStudio%2FChangeTheCharacterCode