2

これは些細な問題だと思いますが、解決できない問題の1つです。

App.xamlのスタートアップファイルをStartupUri="MainWindow.xaml"以下のコードに変更しました。これですべての作業が必要になることを期待しています。

<Application x:Class="MVVMPrototype.App"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         StartupUri="MVVMPrototype.View.MVVMPrototype.xaml">
<Application.Resources>

</Application.Resources>

ただし、次に示すように、ビルドプロパティをリソースに設定する必要があることを示す次のエラーが発生しました。以前はPageに設定されていましたが、これはMainWindow.xamlが設定されていたものと同じです。

リソース

InitializeComponent();その後、現在のコンテキストに存在しないことを示すコンパイラエラーが発生します。これが発生することを私が知っているのは、クラス/名前空間が.csファイルと.xamlファイルの間で同期していない場合だけですが、そうではありません。

StartupUriのドキュメントを確認しましたが、それほど役立つとは思いませんでした。それは私が見落としていた愚かなことだと確信しています。そして、はい、私は運が悪かったので、プロジェクトを何度かきれいにして構築しました。誰かがそれを解決する方法を知っていますか?

更新: SevaTitovは最初の部分を解決しました。しかし今、私は下の写真をTargetInvocationException除いて内部例外がありSystem.Security.SecurityExceptionます(読みにくい場合は新しいタブで画像を開きます):

セキュリティ例外

これについて何かアイデアはありますか?

4

3 に答える 3

4

StartupUriは相対的なファイルの場所を指定し、フォルダーViewにファイルMVVMPrototype.xamlがあるように見えるため、コードは次のようになります。

<Application x:Class="MVVMPrototype.App" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     StartupUri="View/MVVMPrototype.xaml">
于 2012-08-06T18:37:32.457 に答える
3

さて、私は今何が起こっているのか理解しました。

Seva Titovの回答で指摘されているように、StartupUriの値は"View/MVVMPrototype.xaml"

InitializeComponent();現在のコンテキストで定義されていないと表示されていたエラーは、MVVMPrototype.xamlのプロパティに対するビルドアクションがページではなくリソースに設定されていたことが原因でした。もともと、新しいウィンドウコントロールを追加することでこれを解決できると思っていましたが、ビルドアクションが新しいコントロールのページとして設定されていたため、これはデフォルトであると思います。

プロジェクトの[プロパティ]->[セキュリティ]で[ClickOnceセキュリティ設定を有効にする]を切り替えてapp.manifestを生成することで、の最後のエラーとITargetInvocationExceptionの内部例外を修正しました。System.Security.SecurityException

これにより、マニフェスト署名証明書が見つからないという最終エラーが発生したため、プロジェクトのプロパティ->署名の下にある[ClickOnceマニフェストに署名する]のチェックを外しました。

これで私の問題は解決しました。それが他の誰かを助けることを願っています。展開/公開についての知識はほとんどなく、最後の2つがこれにどのように影響するかはわかりません。

于 2012-08-07T11:24:45.033 に答える
0

App.xamlで

StartupUri = "/ ProjectName; component / Folder Or Path / File Or Page.xaml">

于 2021-04-03T19:02:02.703 に答える