- PR -

起動時にTypeLoadExceptionが発生して起動できない

1
投稿者投稿内容
へたれプログラマ
会議室デビュー日: 2008/11/17
投稿数: 2
投稿日時: 2008-11-17 23:08
皆さん初めまして、今回初めて投稿させていただきます。

表題の件について、皆さんの助言をください。

当方では、
Windows XP SP2
.net2.0(C#)
VSTO(Excel)
を使用してWindowsアプリを作成しています。

現在、困ったことにアプリケーション起動時にTypeLoadExceptionが発生してアプリが起動しないという現象が発生しました。
そして、この現象は開発環境(VS2005)がインストールされていないPC上でのみ発生しています。

色々実験した結果、以下の様にプロジェクトを作ると発生するようです。


1.クラスライブラリプロジェクト(仮にOfficeProjectというプロジェクト名)で、VSTO(Excel)を扱うクラス
「ExcelModel」を作成します。

2.Windowアプリケーションプロジェクト(仮にAPP1というプロジェクト名)を作成し、参照設定でOfficeProjectを参照します。

3.App1にOfficeProjectのExcelModelを継承したXlsModelを作成します。

4.ExcelModelのメソッドに、COMオブジェクトを返り値にするVirtualメソッドを追加します。
例)
public virtual Microsoft.Office.Interop.Excel.Sheets GetSheets( )
{
return null;
}

5.XlsModelのメソッドに、GetSheetsをoverrideしたメソッドを追加します。
例)
public override Microsoft.Office.Interop.Excel.Sheets GetSheets( )
{
return null;
}
※メソッドの処理は、特に気にしないでください。

6.Form1のメンバ変数にしても、コンストラクタ内のローカル変数でもいいので、起動時にXlsModelが参照されるようにしてください。

7.App1をビルドし、開発環境がインストールされていない環境で実行をします。

以上の手順で、TypeLoadExceptionが発生します。

キーワードとしては、
 返り値にCOMオブジェクトを使用する。
 XlsModelとExcelModelを別プロジェクトにする。
です。

自力で調べていたのですが、ハマってしまい抜け出せない状態です。。。
皆さんの助言をいただけないでしょうか?
また、過去に出ている話題でしたら、教えていただけ無いでしょうか?

よろしくお願いします。
なかむら
ベテラン
会議室デビュー日: 2008/11/11
投稿数: 67
お住まい・勤務地: 福岡
投稿日時: 2008-11-18 14:08
引用:

7.App1をビルドし、開発環境がインストールされていない環境で実行をします。



この環境に Office.dll や Microsoft.Office.Interop.Excel.dll
といった Office 関連の DLL は存在していますか?

_________________
Nakamura Blog
へたれプログラマ
会議室デビュー日: 2008/11/17
投稿数: 2
投稿日時: 2008-11-18 14:48
返信ありがとうございます。

チョー恥ずかしい事に、ご指摘通りプロジェクトでMicrosoft.Office.Interop.Excel.dllがローカルコピーされていませんでした。(^^

初歩的でくだらない質問をしてしまって本当にスミマセン。。。

なかむら様 ありがとうございました(_ _)
1

スキルアップ/キャリアアップ(JOB@IT)

鬯ゥ謳セ�ス�オ�ス�ス�ス�イ鬯ョ�」鬮ョ�ス�ス�セ陞ス�ッ陷�スー鬯ゥ蟷「�ス�「髫エ雜」�ス�「�ス�ス�ス�ス�ス�ス�ス�ウ鬯ゥ蟷「�ス�「�ス�ス�ス�ァ�ス�ス�ス�ス�ス�ス�ス�ク鬯ゥ蟷「�ス�「髫エ荵暦ソス�ス�ス�ス�ケ髫エ謫セ�ス�エ�ス�ス隶難ス」陝�スー髯滓汚�ス�ア�ス�ス�ス�ス�ス�ソ�ス�ス�ス�ス�ス�コ�ス�ス�ス�ス�ス�ス�ス�コ鬯ョ�ォ�ス�イ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ア鬯ゥ謳セ�ス�オ�ス�ス�ス�イ鬩包スカ闕オ諤懈ャセ�ス�ス�ス�ス�ス�ス�ス�「鬮ォ�イ�ス�、髫イ蟷「�ス�キ�ス�ス�ス�ス鬯ョ�」陋ケ�ス�ス�ス�ス�ウ�ス�ス�ス�ス�ス�ス�ス�ュ�ス�ス�ス�ス�ス�ス�ス�ス鬩包スカ闕ウ讖ク�ソ�ス闔会スー�つ€鬮」豈費スシ螟イ�ス�ス�ス�」�ス�ス�ス�ス髫カ謐コ諷」�ス�ス�ス�ク�ス�ス�ス�コ�ス�ス�ス�ス�ス�ス�ス�セ鬯ゥ謳セ�ス�オ�ス�ス�ス�コ鬮ッ�キ�ス�キ�ス�ス�ス�カ�ス�ス�ス�ス�ス�ス�ス�ス髯懶スィ�ス�ヲ�ス�ス�ス�ス�ス�ス�ス�ア鬯ッ�ッ�ス�ッ髣費スィ隲幢スカ�ス�ス�ス�セ鬯イ�ス�シ螟イ�ス�ス�ス�ソ�ス�ス�ス�ス鬯ッ�ョ�ス�エ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�「鬯ッ�ョ�ス�「�ス�ス�ス�ィ�ス�ス�ス�ス�ス�ス�ス�キ鬯ョ�ォ�ス�イ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ア鬯ゥ蟷「�ス�「�ス�ス�ス�ァ鬮ッ蜿・�ケ�「�ス�ス�ス�オ鬩幢ス「隴趣ス「�ス�ス�ス�。鬯ゥ蟷「�ス�「�ス�ス�ス�ァ�ス�ス�ス�ス�ス�ス�ス�ァ鬯ゥ蟷「�ス�「髫エ雜」�ス�「�ス�ス�ス�ソ�ス�ス�ス�ス鬩搾スオ�ス�コ�ス�ス�ス�ス
�ス�ス�ス�ス�ス�ス�ス�ス鬮ォ�イ陝キ�ス縺具ソス�ス�ス�ス�ス�ス�ス�エ�ス�ス�ス�ス�ス�ス�ス�セ鬯ッ�ッ�ス�ゥ髯具スケ�ス�ス�ス�ス�ス�ス�ス�ス�ス�」鬯ゥ蟷「�ス�「髫エ雜」�ス�「�ス�ス�ス�ス�ス�ス�ス�サ鬯ゥ蟷「�ス�「髫エ雜」�ソ�ス�ス�ス�ス�シ鬯ゥ�・�ス�ス郢ス謳セ�ソ�ス�ス�ケ髫エ雜」�ス�「�ス�ス�ス�ス�ス�ス�ス�シ鬯ゥ謳セ�ス�オ�ス�ス�ス�コ�ス�ス�ス�ス�ス�ス�ス�ァ鬯ョ�ッ�ス�キ髯晢スカ隴乗��ス�コ郢ァ謇假スス�ソ�ス�ス�ス�ス�ス�・鬯ゥ蟷「�ス�「髫エ雜」�ス�「�ス�ス�ス�ス�ス�ス�ス�。鬯ゥ蟷「�ス�「髫エ雜」�ス�「�ス�ス�ス�ス�ス�ス�ス�ェ鬯ゥ蟷「�ス�「髫エ雜」�ス�「�ス�ス�ス�ソ�ス�ス�ス�ス鬩幢ス「隴趣ス「�ス�ス�ス�ィ鬯ゥ謳セ�ス�オ�ス�ス�ス�コ�ス�ス�ス�ス�ス�ス�ス�ィ鬯ゥ謳セ�ス�オ�ス�ス�ス�コ�ス�ス�ス�ス�ス�ス�ス�ッ�ス�ス�ス�ス�ス�ス�ス�ス鬮ョ迢暦スソ�ォ�ス謇假スソ�ス�ス�ス�ス�ス�ス�シ鬮ォ�カ霓」蛛�スス�・�ス�ス�ス�ス�ス�ス�ス�ス�ス�エ�ス�ス�ス�ス�ス�ス�ス�セ鬯ッ�ッ�ス�ゥ髯具スケ�ス�ス�ス�ス�ス�ス�ス�ス�ス�」鬯ゥ蟷「�ス�「髫エ雜」�ス�「�ス�ス�ス�ス�ス�ス�ス�サ鬯ョ�ォ�ス�カ鬯イ�ス�シ螟イ�ス�ス�ス�ス�ス�ス�ス�ュ鬯ョ�ッ�ス�キ髫カ諠ケ�シ竏晢スョ�ス�ソ�ス�ス�ス�ス�ス�ス�ァ鬯ゥ蜍滉コ芽ア主、イ�ソ�ス�ス�ス�ス�ス�ス�ィ鬮ッ�キ闔ィ螟イ�ス�ス�ス�ア鬩搾スオ�ス�イ髯橸スウ陞「�ス遯カ�ウ鬯ッ�ョ�ス�ヲ�ス�ス�ス�ェ�ス�ス�ス�ス�ス�ス�ス�・鬯ゥ蟷「�ス�「�ス�ス�ス�ァ�ス�ス�ス�ス�ス�ス�ス�ィ鬯ゥ蟷「�ス�「髫エ雜」�ス�「�ス�ス�ス�ス�ス�ス�ス�ウ鬯ゥ蟷「�ス�「�ス�ス�ス�ァ�ス�ス�ス�ス�ス�ス�ス�ク鬯ゥ蟷「�ス�「髫エ荵暦ソス�ス�ス�ス�ケ髫エ謫セ�ス�エ�ス�ス隶難ス」邵コ證ヲ�ソ�ス�ス�コ�ス�ス�ス�ス�ス�ス�ス�ョ鬯ゥ謳セ�ス�オ�ス�ス�ス�コ鬯ッ�ョ�ス�ョ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ケ鬯ッ�ゥ陋ケ�ス�ス�ス�ス�カ鬮」蛹�スス�オ髫エ謫セ�ス�カ鬮ヲ�。鬯・�エ陜ョ�ソ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ア