私はローカルのSQLiteとEntity Frameworkコアで動作するWPFアプリケーションを持っています。私はClickOnceを使って自分のアプリを配布したい。WPF ClickOnceの参照がありません
Visual Studio 2017を使用して実行するとすべてうまく動作しますが、ClickOnceを使用したときにアプリが起動時にクラッシュしました。クラッシュはとても早かったので、例外を記録することさえできませんでした。しばらくすると、私はいくつかのDLLが公開されていないことが分かった。たとえば、System.Runtimeです。すべての参照はNuGetパッケージです。それから、私のプロジェクトClickOnceアプリケーションファイルリストのdllへの参照が含まれているにもかかわらず、それが見つかりました。
私が今見つけた唯一の解決策は、プロジェクトのルートにファイルとして欠落したdllを追加し、ビルドアクションをコンテンツに設定することです。 ClickOnceアプリケーションファイルのダイアログで、私はパブリッシュステータスをIncludeに設定しました。
これはうまくいきますが、それを行う最良の方法ではないようです。問題は、なぜ彼らが最初に逃したのかということです。私は何かを逃した可能性が高い、または私は問題の根本を理解していない。
UPD:
あなたがサンプルコードhereを見つけることができます。
Visual Studioからは動作しますが、ClickOnceアプリケーションとしてインストールすると、起動時にクラッシュします。
@Pikohを再発行:「私は私のプロジェクトのClickOnceアプリケーションファイルリスト内のDLLへの参照を持っているのにもかかわらず、しない、それを含む」 –
@Pikoh私は持っていませんでしたそれをプロジェクトの共通ファイルとして追加する前に、リスト内のすべてのファイルを削除する必要があります。 –
「ローカルコピー」という参照をtrueに設定していますか? – Pikoh