ホームページ「sorceryforce.net」の実行環境を変更しました

内部フレームワークを変えただけなので見た目とかは特に何も変わっていません。

開発環境を Windows 10 や Visual Studio 2015 に移行したりしていたのですが、ついでなのでホームページを動かしている ASP.NET の中身もいろいろバージョンを上げてみました。もし挙動などがおかしければコメントいただけると助かります。(WordPress 側は特に変えてないのでブログのほうは大丈夫だと思います)

一応変えてみたものは次の通りです。

  • ASP.NET 4 → ASP.NET 4.5.2
  • .NET Framework 4 → .NET Framework 4.5.2 (サーバーがいつの間にか 4.5 対応していたので上げました)
  • Entity Framework 5 → Entity Framework 6.1.2 (4→5 みたいに API 変わってなくてよかったです)
  • jQuery 1.8.2 → jQuery 1.10.2

ただ、Web サーバーのほうが権限の問題で Roslyn を使おうとするとアクセス権エラーが発生してホームページがまったく動かなかったので、web.config から「system.codedom」を抹消して使用しないようにしました。というか自作サーバーでテストしていたときは普通に動いていたのに、いざ本番ホームページサーバーにあげたら不明なエラーが発生して動かなかったので結構焦りました。一時期ホームページが開けなくなっていたのはこのためです。

ちなみに、作り直す前のプロジェクトを VS2013 から VS2015 に移行した時に図のような警告が出ていたので、SQL Server 2012 Express LocalDB を入れようかと思ったのですが、新規に作り直した時に認証系などをすべて外したので警告は出なくなりました。

2015-09-09 20_17_36-Microsoft Visual Studio


Visual Studio でアセンブリ署名を作成・登録しようとするとエラーがでる (解決済み)

環境

  • Windows 10 Pro
  • Visual Studio 2015 Community

現象

環境を Windows 10 (新規)に移行して Visual Studio 2015 を入れたのですが、以前のプロジェクトを編集していると一部のプロジェクトでアセンブリ署名がうまく設定されない現象に出くわしました。

原因を探るために新規プロジェクトを作成して試してみました。今回はコンソールアプリケーションです。プロジェクトを作成しただけで特に何も追加していません。

2015-09-16 22_34_37-3D Builder

プロジェクトのプロパティを開き、アセンブリの署名キーを作成します。

2015-09-16 22_35_20-3D Builder

ファイル名とパスワードを入力します。

2015-09-16 22_35_44-厳密な名前キーの作成

しかし、「操作を完了できませんでした。アクセスが拒否されました。」のエラーメッセージが出てしまいました。

2015-09-16 22_36_23-Microsoft Visual Studio

プロジェクトにもキーファイルは追加されていません。

2015-09-16 22_36_36-3D Builder

ただ、エクスプローラーを見るとファイルだけは作成されているようです。

2015-09-16 22_36_46-

試しに、このpfxファイルを参照して設定してみます。

2015-09-16 22_36_57-3D Builder

作成されたpfxファイルを選択します。

2015-09-16 22_37_05-3D Builder

先ほど入力したパスワードを入力します。

2015-09-16 22_37_15-ファイルを開くためのパスワードを入力してください。

しかし今度は「存在しないトークンを参照しようとしました。」というエラーメッセージが表示されました。

2015-09-16 22_37_18-キーのインポート エラーです。

もちろん、キーファイルは設定されていません。

2015-09-16 22_37_26-3D Builder

しかし、今度はプロジェクトには追加されているようです。

2015-09-16 22_37_31-3D Builder

解決方法

正規の解決方法なのかはわかりませんがうまく対応できたので手順を載せておきます。

いろいろ調べてみると「C:ProgramDataMicrosoftCryptoRSAMachineKeys」フォルダに対して更新権限がないために起こっているエラーのようでした。試しに、そのフォルダに対してファイルを作成しようとしても作成できないことが確認できます。

2015-09-16 22_38_56-MachineKeys

ちなみに、正常に動作している環境ではファイルが作成できるようになっていました。

2015-09-16 22_39_42-yuuichi-main_3404 - リモート デスクトップ接続

なぜこのような違いが起こったのかわかりませんが、とりあえずログインしているユーザーでフルコントロールを割り当ててみました。ちなみに正常に動作している環境のセキュリティを確認したところ、「Everyone」「Administrators」のみで、どちらもアクセス許可にはすべてチェックはついていませんでした。

2015-09-16 22_40_20-MachineKeys のアクセス許可

セキュリティの設定を行ったところ、作成したプロジェクトでキーファイルが設定できるようになりました。

2015-09-16 22_41_54-OneNote

もともと正常に動作している環境、動作しなかった環境はいずれも「Windows 10 Pro」「Visual Studio 2015 Community」なのですが、Windows 10 に移行した際の手順によってもしかしたら違いが出たのかもしれません。

Windows 10 新規インストール OK
Windows 8.1 Professional から Windows 10 へアップグレード OK
Windows 8.1 Enterprise から Windows 10 へアプリ以外をアップグレード NG

また、今回は「C:ProgramDataMicrosoftCryptoRSAMachineKeys」フォルダにセキュリティのアクセス許可を追加しましたが、セキュリティ的にリスクがないかどうかはよくわかっていません。試される方はその点を認識したうえで行ってください。


Windows 10 環境においての Windows Update のインストール方法を変更する

基本的には自動的に Windows Update されてもいいのですが、環境によっては再起動しないでそのままの状態でいてほしい場合もあります。しかし、Windows 10 ではそれはできず、必ず自動的に再起動されてしまうので、それを防ぐ方法をまとめてみました。

以下のページにまとめてあるので参考にしてみてください。ただ、標準的な設定でないことと、Windows Update を手動に切り替える方法なので、セキュリティ面のリスクが発生する場合があります。設定する場合は自己責任の範囲でお願いします。


【艦これ】上限を超える家具コインを開けるとどうなるか試してみた

ちょうど家具コインがなくなってしまったので、補充しようと思ったんですが、気になったので動画として残してみました。Wiki にはいろいろ書いてあるんですが、参考動画はほとんどなかったので作りました。


Windows 10 でスリープが勝手に解除される現象が発生したので対応してみた

Windows 8.1 を動かしていた PC に Windows 10 を新規インストールしてみたのですが、スリープをした後にしばらくすると勝手に解除される現象に見舞われてしまいました。スリープしたあと数分後ぐらいには解除されてしまうようです。なんか以前の OS でもあって対応した気がするのですが忘れました。(たしか Media Center かなにかのスケジュールが悪さしていたような http://blog.sorceryforce.net/?p=7)

念のためイベントログを見てみたのですが、原因はどうも不明なようです。

2015-09-10 22_54_53-Greenshot

ただ、ネットで調べた結果、ネットワークデバイスの設定で解決できたみたいなので、こちらの環境で行った手順を載せたいと思います。搭載しているデバイスなどが違う可能性があるので、原因が同じとは限りません。一応参考としてご覧ください。

手順

スタートメニューから「設定」を選択します。

2015-09-10 22_29_59-検索

「デバイス」を選択します。(画面を小さくしているので表示が違う場合があります)

2015-09-10 22_30_26-スポーツ

左の一覧から適当に選択し、下にある「デバイス マネージャー」を選択します。

2015-09-10 22_31_35-スタート2

デバイスの一覧から「ネットワーク アダプター」を展開し、表示されたデバイスをダブルクリックするか、右クリックして「プロパティ」を選択します。表示されるデバイス名は環境によって違う場合があります。

2015-09-10 22_40_56-Greenshot

「電源の管理」タブを選択し、「このデバイスで、コンピューターのスタンバイ状態を解除できるようにする」のチェックを外します。これでスリープ状態から勝手に解除されることはなくなります。ただ、私の環境の場合、Magic Packet によるスリープ解除をできるようにしておきたかったので、このチェックは外さずに「Magic Packet でのみ、このコンピューターのスタンバイ状態を解除できるようにする」にチェックを入れるようにしました。

2015-09-10 22_41_23-Greenshot


しゃべりながらゲーム制作やってみます #18 シーンとプレイヤー変更

時間が経ってしまいましたが、#18 を公開しました。今回は現在のシーンから次のシーンに移る際のエフェクトと操作ユニットの変更について説明しています。

現在開発環境を Windows 10 と Visual Studio 2015 に移行中なので、ゲーム制作の方は少し遅れるかもしれません。(今回まで Windows 8.1 と Visual Studio 2013 です)