忘れない内にメモメモ。
最近、Mac上でParallelsを動かしてVisual Studio 2013で開発しているのですが、WPFアプリを作っていてViewModelをXAML上で
<Window.DataContext> <local:MainViewModel /> </Window.DataContext>
とかすると、「MainViewModelが存在しません。」というエラーが表示されました。ちゃんとクラスはあるのにです。しかも、同じプロジェクト上に、、、。
clr-namespaceの記述をいろいろ変えてみたけど駄目。ネットで調べてみると
c# - The name "XYZ" does not exist in the namespace "clr-namespace:ABC" - Stack Overflow
という投稿がありました。ここに原因書いてありました。原因は、ネットワークドライブ上にプロジェクトを保存していて信頼されていない場所にあるアセンブリだったから。
ParallelsでWindows入れると、"Home on psf"というネットワークドライブが作成されるのですが、これが悪さしていた模様。VSでもプロジェクト保存場所のデフォルトがこの下となっていたので、この現象が発生していました。プロジェクトをCドライブとかで作成すると、いつも通りちゃんと見えるようになりました。
過去の記事については、以下のページからご参照下さい。
- いろいろ備忘録日記まとめ
サンプルコードは、以下の場所で公開しています。