0

私はこのアプリを作成する前に C# を使用したことがなく、Visual Studio も大嫌いです。

仕事で面倒なプロセスの多くを自動化する、すてきな小さなユーティリティを作成しました。使ってみたいという海外の方も含め、たくさんの方にプレゼントしました。

唯一の問題は...自分のマシン以外のマシンでアプリケーションを実行できないことです。他のマシンでは、アプリケーションは起動するとすぐにクラッシュします。

必要に応じて適切なバージョンの .NET をインストールするインストーラーにアプリケーションをパックすることで、クライアント マシンへの .NET インストールに関する問題を完全に除外しました。

今のところ、私の考えでは、2 つの COM 参照のパッキングを誤って処理しているか、またはアプリケーションがセキュリティ例外で死んでいると考えています。

このアプリケーションは、COM Excel リファレンスと、アプリを実行しているクライアントがマシンにインストールした他の 1 つの COM リファレンスを利用します。Visual Studio に依存してアプリケーションを配布し、必要な参照を取得して魔法のように動作させることと、「CopyLocal」への参照を強制することの両方を試みました。参照の分離に失敗しましたが、それが必要かどうかはわかりません。

問題が何であるかについて手がかりを持っている人はいますか? 遠慮なく私に質問してください。

4

1 に答える 1

0

デプロイの問題に直面しています。アセンブリとその使用されている dll をターゲット マシンにコピーすることは、通常、.NET でうまく機能するというのが事実であるとしても、状況はそれほど単純ではありません。初めに:

  • ターゲット マシンに、プログラムに使用するバージョンと互換性のあるバージョンの .NET Framework がインストールされていることを確認します (つまり、以上)。

  • 適切な COM オブジェクトが存在し、ターゲット マシンに登録されていることを確認してください。そして、これがトリッキーな部分です。Excel を使用しているため、ターゲット マシンにPrimary interop assembly (PIA) for officeをインストールしてみてください。これでおそらく問題が解決します。

于 2013-06-14T13:36:41.627 に答える