問題タブ [winrt-component]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
67 参照

c# - Visual Basic 2010 C# プロジェクトで WinRT ライブラリを使用できない

Windows.Management.Deploymentそのため、システムにインストールされている Metro アプリの詳細を取得するために使用される Windows ランタイムの名前空間から PackageManager クラスにアクセスしようとしまし た。

WinRT私のプロジェクトでそれらを参照できるように、デスクトップアプリケーションのライブラリを使用すると言われています。

このウォークスルーの手順に従った後Windows.Management.Deployment、プロジェクトに名前空間への参照を追加できたはずです。しかし、上記のブログにあるようにTargetPlatformVersioninファイルを変更しようとすると、以下のエラーが発生します。*.csproj

私の結果

また、上記のリンクに示されている [参照マネージャー] ダイアログ ボックスには、必要なライブラリが利用可能な Windows タブがあります。

しかし、私の参照マネージャーは次のとおりです。 参照マネージャー

2010 バージョンでプロジェクトを実行しているときに、すべての手順が Visual Studio 2012 + で行われていることに気付きました。また、手順で使用されている .NET Framework のバージョンは 4.5 (VS2012 のデフォルト) ですが、私はバージョン 4.0 (VS2010 のデフォルト) を使用しています。これらのいずれかが私が直面している問題と関係がありますか?

明らかな間違いを犯している場合はご容赦ください。この問題についてご案内します。ありがとうございました。

0 投票する
0 に答える
158 参照

c# - WinRT Brokered Component を使用した TypeLoadException

仲介コンポーネントを使用して Windows ストア アプリを構築しています。仲介コンポーネントは、デバイス上の RFID リーダーとの対話を可能にすることを目的としています。仲介されたコンポーネントによって公開されたクラスのインスタンスを初期化しようとすると、次System.TypeLoadExceptionのメッセージを受け取りました。Could not find or load a type. (Exception from HRESULT: 0x80131522).

2 つの異なるタブレット デバイスに Windows 8.1 Professional をクリーン インストールすることに反対しています。現在、両方でこの問題が発生しています。このソリューションは過去に機能しました。私が最近したことが、これを引き起こしているに違いありません。また、ハードウェア ベンダーが提供するサンプル アプリケーションを使用して、RFID リーダーにアクセスできることも確認しました。

私の Package.appxmanifest ファイルは次のようになります。

このソリューションは、x86 プラットフォームを対象として構築されています。C:\Program Files (x86)\MyApp\RFID次のコマンドを使用してターゲット デバイスにコンポーネントを登録しました(このホワイトペーパーに従って)。

icacls . /T /grant "ALL APPLICATION PACKAGES":RX

regsvr32 MyApp.RFID.Proxy.dll

ターゲット デバイスに Visual Studio 2013 x86 再頒布可能パッケージをインストールしました。また、すべての開発で行ってきたように、追加の依存関係 .dll を同じディレクトリに配置しました。

私が試した他のいくつかのこと:

  • C:\Program Files (x86)マニフェストの ActivatableClassAttribute の値としてではなく、%PROGRAMFILES% を使用します。
  • スレッド モデルとして「STA」、「MTA」、および「両方」を使用します。
  • ActivatableClassAttribute 値のパスに末尾のスラッシュを追加しました。
  • すべてを完全にアンインストールし、最初からやり直しました。
  • クラスに空のデフォルト コンストラクターを明示的に追加しますRfidDevice
0 投票する
2 に答える
536 参照

webview - AllowForWeb クラスを使用して、参照された WinRT コンポーネントから WebView ページ メソッドを呼び出す

内部に WebView を含む XAML ページがあります (MainPage.xaml など)。また、[AllowForWeb] 属性でマークされたクラスを持つ WinRT コンポーネントがあります。このコンポーネントは、MainPage.xaml が配置されているプロジェクトから参照され、コード ビハインドでAddWebAllowedObject メソッドが使用されます。また、循環依存のため、メイン プロジェクトを参照できません。

コンポーネントクラスから MainPage.xaml.cs メソッドを呼び出す方法は? ごく普通の状況。それを行う標準的な方法はありますか?

例えば。JavaScript から呼び出すことができる RT コンポーネント内のメソッドがあります。

0 投票する
1 に答える
69 参照

c# - winrt コンポーネントから Windows 8.1 ユニバーサル アプリの状態/パブリック変数へのアクセスを取得する

ユニバーサル Windows プラットフォーム アプリがあり、バックグラウンド チェックのために winrt コンポーネント (ソリューション内の別のプロジェクト) を使用します。正しく登録すると、システムは 15 分ごとに winrt クラスを起動します。問題は、私のアプリが同じファイルを使用し、バックグラウンド チェッカーと同じチェックを行うことです。したがって、バックグラウンド チェックをスキップしてマルチスレッド ファイル アクセスを回避するには、アプリが (バックグラウンドまたはフォアグラウンドで) 動作していることを知る必要があります。winrt コンポーネントからアプリの状態にアクセスする方法はありますか、またはクエリ システムはアプリがアクティブですか?