すみません、動画を投稿していたのにブログのほうで告知するのを忘れていました。
開発環境を移行していたので、しばらく動画投稿できていなかったのですが、1か月ぶりに再開しました。今回は番外編ということで開発環境移行についていろいろ話しています。
番外編なのでほんとは18.5とかにしようと思ってたのですが、番号を並べた際にここだけ浮いちゃうので19にしました。(^^;)
]]>内部フレームワークを変えただけなので見た目とかは特に何も変わっていません。
開発環境を Windows 10 や Visual Studio 2015 に移行したりしていたのですが、ついでなのでホームページを動かしている ASP.NET の中身もいろいろバージョンを上げてみました。もし挙動などがおかしければコメントいただけると助かります。(WordPress 側は特に変えてないのでブログのほうは大丈夫だと思います)
一応変えてみたものは次の通りです。
ただ、Web サーバーのほうが権限の問題で Roslyn を使おうとするとアクセス権エラーが発生してホームページがまったく動かなかったので、web.config から「system.codedom」を抹消して使用しないようにしました。というか自作サーバーでテストしていたときは普通に動いていたのに、いざ本番ホームページサーバーにあげたら不明なエラーが発生して動かなかったので結構焦りました。一時期ホームページが開けなくなっていたのはこのためです。
ちなみに、作り直す前のプロジェクトを VS2013 から VS2015 に移行した時に図のような警告が出ていたので、SQL Server 2012 Express LocalDB を入れようかと思ったのですが、新規に作り直した時に認証系などをすべて外したので警告は出なくなりました。
]]>
環境
環境を Windows 10 (新規)に移行して Visual Studio 2015 を入れたのですが、以前のプロジェクトを編集していると一部のプロジェクトでアセンブリ署名がうまく設定されない現象に出くわしました。
原因を探るために新規プロジェクトを作成して試してみました。今回はコンソールアプリケーションです。プロジェクトを作成しただけで特に何も追加していません。
プロジェクトのプロパティを開き、アセンブリの署名キーを作成します。
ファイル名とパスワードを入力します。
しかし、「操作を完了できませんでした。アクセスが拒否されました。」のエラーメッセージが出てしまいました。
プロジェクトにもキーファイルは追加されていません。
ただ、エクスプローラーを見るとファイルだけは作成されているようです。
試しに、このpfxファイルを参照して設定してみます。
作成されたpfxファイルを選択します。
先ほど入力したパスワードを入力します。
しかし今度は「存在しないトークンを参照しようとしました。」というエラーメッセージが表示されました。
もちろん、キーファイルは設定されていません。
しかし、今度はプロジェクトには追加されているようです。
正規の解決方法なのかはわかりませんがうまく対応できたので手順を載せておきます。
いろいろ調べてみると「C:ProgramDataMicrosoftCryptoRSAMachineKeys」フォルダに対して更新権限がないために起こっているエラーのようでした。試しに、そのフォルダに対してファイルを作成しようとしても作成できないことが確認できます。
ちなみに、正常に動作している環境ではファイルが作成できるようになっていました。
なぜこのような違いが起こったのかわかりませんが、とりあえずログインしているユーザーでフルコントロールを割り当ててみました。ちなみに正常に動作している環境のセキュリティを確認したところ、「Everyone」「Administrators」のみで、どちらもアクセス許可にはすべてチェックはついていませんでした。
セキュリティの設定を行ったところ、作成したプロジェクトでキーファイルが設定できるようになりました。
もともと正常に動作している環境、動作しなかった環境はいずれも「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 Update されてもいいのですが、環境によっては再起動しないでそのままの状態でいてほしい場合もあります。しかし、Windows 10 ではそれはできず、必ず自動的に再起動されてしまうので、それを防ぐ方法をまとめてみました。
以下のページにまとめてあるので参考にしてみてください。ただ、標準的な設定でないことと、Windows Update を手動に切り替える方法なので、セキュリティ面のリスクが発生する場合があります。設定する場合は自己責任の範囲でお願いします。
]]>Windows 8.1 を動かしていた PC に Windows 10 を新規インストールしてみたのですが、スリープをした後にしばらくすると勝手に解除される現象に見舞われてしまいました。スリープしたあと数分後ぐらいには解除されてしまうようです。なんか以前の OS でもあって対応した気がするのですが忘れました。(たしか Media Center かなにかのスケジュールが悪さしていたような https://blog.sorceryforce.net/?p=7)
念のためイベントログを見てみたのですが、原因はどうも不明なようです。
ただ、ネットで調べた結果、ネットワークデバイスの設定で解決できたみたいなので、こちらの環境で行った手順を載せたいと思います。搭載しているデバイスなどが違う可能性があるので、原因が同じとは限りません。一応参考としてご覧ください。
スタートメニューから「設定」を選択します。
「デバイス」を選択します。(画面を小さくしているので表示が違う場合があります)
左の一覧から適当に選択し、下にある「デバイス マネージャー」を選択します。
デバイスの一覧から「ネットワーク アダプター」を展開し、表示されたデバイスをダブルクリックするか、右クリックして「プロパティ」を選択します。表示されるデバイス名は環境によって違う場合があります。
「電源の管理」タブを選択し、「このデバイスで、コンピューターのスタンバイ状態を解除できるようにする」のチェックを外します。これでスリープ状態から勝手に解除されることはなくなります。ただ、私の環境の場合、Magic Packet によるスリープ解除をできるようにしておきたかったので、このチェックは外さずに「Magic Packet でのみ、このコンピューターのスタンバイ状態を解除できるようにする」にチェックを入れるようにしました。
]]>