6月 262014
 

VisualStudioの「テストの設定」>「配置」>「ディレクトリの追加」でディレクトリを追加しても、テスト時に配置されるのはディレクトリ自体ではなく、ディレクトリの中身という。。

ディレクトリ自体をコピーしたい場合、outputDirectory属性を指定すれば解決できる。

[xml mark=”5″]


これらはローカル テスト実行用の既定のテスト設定です。



[/xml]

「テストの設定」からは操作できない属性だが、他のファイルやディレクトリを追加しても追記したoutputDirectoryは削除されない模様(VS2013 Update2)。

参考:方法: テスト用のファイルを配置する

6月 262014
 
  • 「NuGet パッケージの復元の有効化」を有効にしてる
  • プライベートリポジトリなどデフォルト以外のリポジトリを利用している

この時、PackageSourceを追加しないと復元に失敗する。
VisualStudioのオプションで追加している場合は成功するが、未設定環境では当然ながら失敗するため、設定をソースと一緒に配信したくなる。

追加できる場所で、容易にソースと一緒に配信できるのは以下のどちらか。

  • .nuget\NuGet.Config
    参照:NuGet Config Settings
  • .nuget\NuGet.targets
    [xml title=”NuGet.targets”]





    [/xml]

  • ConfigではKeyの指定があるが、targetsにはない
  • Configは、%APPDATA%\NuGet\NuGet.Config等、他の同時に読み込まれるNuGet.Configの影響も受けてしまう
    • disabledPackageSourcesで当該キーのソースが指定されていると、無効化されてしまうため、注意が必要となる
    • VisualStudio のオプションでチェックボックスをオフにするとdisabledPackageSourcesに含まれてしまう
  • Reference の解説をさらっと見た限りではConfigの書き方しか書いてない
  • NuGetパッケージマネージャーをバージョンアップした時の影響は不明…
6月 132014
 

WPFにてアクティブなウィンドウが無い状態で引数のownerを指定せずにMessageBox.Show()した場合、メッセージボックスは非モーダルな状態で表示される。
通信等をトリガーにして通知を行う場合などで発生するケース。

参考: MessageBox.cs

モーダルな状態で表示するには、Window.Activate()でウィンドウをアクティブにしてしまうか、MessageBox.Show()の引数でownerとなるWindowを指定すれば良い。

5月 272014
 

窓掴んで揺らすと、他が全部最小化するやつ。
誤爆するとウザいので…

参考:Windows aero shake – Microsoft Community

グループポリシエディタが使える場合
  1. gpedit.msc 実行
  2. ユーザーの構成管理用テンプレートデスクトップ を開く
  3. Aero Shake のウィンドウ最小化のマウス ジェスチャをオフにする を有効化
グループポリシエディタが使えない場合
  1. regedit 実行
  2. HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Explorer を開く
  3. NoWindowMinimizingShortcuts (REG_DWORD) を 1 にする
5月 232014
 

参考:ClickOnceアプリケーションをブラウザに読み込んだ HTML 上のスクリプトから起動する際のIEの設定について – Visual Studio サポート チーム blog – Site Home – MSDN Blogs

  • 「ファイルのダウンロード時に自動的にダイアログを表示」が有効でなければならない
  • 「インターネット」、「信頼済みサイト」ゾーンでは既定で無効
  • レベル「中低」が既定値である「ローカルイントラネット」ゾーンは既定で有効
  • IE6~8はインターネットオプションから変更可能
  • IE9以降はレジストリの編集が必要

-例:信頼済みサイトの [ファイルのダウンロード時に自動的にダイアログを表示] のレジストリ情報
————————————————————————————-
レジストリキー : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2
値の名前:2200
値の種類:REG_DWORD
値のデータ 00000003(無効) – 既定値
00000000(有効)

12月 182013
 

Windows が画面の端を正確に検出できるようにするために、調整点をタッチするときには画面の少し中央寄りをタッチするようにしてください。

調整の意味ない!!
Win7時代からの機能のようなので、Win8との整合性低いんですかねぇ…

11月 222013
 

ODACの11g、12cにはOracle.ManagedDataAccessというのが追加されており、ネイティブコードが無くなったのでサーバー環境へのデプロイ時にODP.NETやOracleClientのインストールが不要になる!ということで、やり方を調べてみたメモ。

参考:oracle – Deploying and Configuring ODP.NET to work without installation with Entity Framework – Stack Overflow

これのBのパターンでうまく行った。

  • WCFサービスのホストプロジェクトなどDB接続が必要になるプロジェクトの参照にEntityFramewrokとOracle.ManagedDataAccessを追加し、ローカルコピーをTrueに
  • Web.config/App.configを以下のように設定
[xml]




















[/xml]

  • 適当にデプロイ

Oracle.ManagedDataAccessDTC.dll が必要な場合

  • TransactionScope を使う場合など、Oracle.ManagedDataAccessDTC.dll が必要な時がある
    • 無いと実行時にFileNotFoundExceptionで死ぬ
  • Oracle.ManagedDataAccess.dllと同様に、実行パスかGACに入ってればOK
  • Microsoft Visual C++ 2010 SP1 再頒布可能パッケージ を必要とする点に注意 (SP1じゃなくても大丈夫だとは思うが…)
    • これも同様に、インストールされていないと実行時にFileNotFoundExceptionで死ぬ
  • Oracle.ManagedDataAccessDTC.dll も Microsoft Visual C++ 2010 SP1 再頒布可能パッケージ も32bit版と64bit版があるので、実行環境に合わせたものを使おう