C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[6]: VS2005 RegAsmでアセンブリが登録できない


(過去ログ 20 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■8298 / inTopicNo.1)  VS2005 RegAsmでアセンブリが登録できない
  
□投稿者/ asuka (21回)-(2007/09/27(Thu) 13:56:11)

分類:[C#] 

VS2005 XP Pro C#
---

VS2003で作成したdllはgacutil、RegAsmで登録出来ていたのですが、

VS2005にしてからgacutilは成功するものの、RegAsmでエラーになってしまいます。

エラーの内容は以下の通りです。

『〜.dllは有効な.NETアセンブリでないため、読み込めませんでした。』



いろいろ調べてみますと、VS2005ではアセンブル情報をプロジェクトのプロパティから設定出来ることが分かりました。

AssemblyInfo.cs(デフォルトで記載されているプロパティを追加のみで新規には記載していない)も、

プロジェクトのプロパティからのアセンブリ情報も記載し、

ビルドも正常に行われるのですが、なぜこのようなエラーが出てしまうのでしょうか?




エラー内容で検索してもヒットせずに困っております。

何方か原因を知っている方がおられましたら御教授願います。

引用返信 編集キー/
■8299 / inTopicNo.2)  Re[1]: VS2005 RegAsmでアセンブリが登録できない
□投稿者/ 魔界の仮面弁士 (434回)-(2007/09/27(Thu) 14:03:48)
No8298 (asuka さん) に返信
> VS2005にしてからgacutilは成功するものの、RegAsmでエラーになってしまいます。

アセンブリの ComVisible 属性が False になっていたりはしませんか?
(プロジェクトのプロパティなら、[アセンブリを COM 参照可能にする] のチェックボックス)
引用返信 編集キー/
■8301 / inTopicNo.3)  Re[2]: VS2005 RegAsmでアセンブリが登録できない
□投稿者/ asuka (22回)-(2007/09/27(Thu) 14:54:54)
魔界の仮面弁士さん、レスありがとうございます。

はい、チェックしているのにも関わらず登録出来ない状況です。TT


ちょっと思ったのですが、署名ファイルというのでしょうか?

VS2003のときは『〜.snk』だったのですが、VS2005にして作り直してみると『〜.pfx』となっていますが、

これは問題ないのでしょうか?

もっと詳しいエラーが出てくれればいいのですが・・・>コマンドプロンプトからRegAsm登録時にて

引用返信 編集キー/
■8302 / inTopicNo.4)  Re[3]: VS2005 RegAsmでアセンブリが登録できない
□投稿者/ 渋木宏明(ひどり) (393回)-(2007/09/27(Thu) 15:58:39)
渋木宏明(ひどり) さんの Web サイト
RegAsm と署名の間には何ら特別な関連はなかったと思いますけど?

てか、本当に GAC への登録や RegAsm で COM コンポーネントとしての登録が必要なんですか?

引用返信 編集キー/
■8307 / inTopicNo.5)  Re[4]: VS2005 RegAsmでアセンブリが登録できない
□投稿者/ asuka (23回)-(2007/09/27(Thu) 17:35:43)
No8302 (渋木宏明(ひどり) さん) に返信
> RegAsm と署名の間には何ら特別な関連はなかったと思いますけど?


著名の箇所に、[アセンブリを COM 参照可能にする] という項目があり、

COMへのインターフェースをレジストリに書いておく必要があると解釈しておりましたので、

ここにチェックしてRegAsmで書くのかな?

と思ってます。



> てか、本当に GAC への登録や RegAsm で COM コンポーネントとしての登録が必要なんですか?

前回思いっきりスルーされてしまったのですが、BandObjectというライブラリを使って、

IEにツールバーを表示させたく、RegAsmでCOM コンポーネントとしての登録が必要だと思ってます。



下記のサイトの『ソースコード』からソースをDLしまして、VS2003なら正常に登録出来るのですが、IE7で問題が発生するので修正をしたかったのです。

http://mobiquitous.com/programming/ietoolbar.html

これをVS2005でビルドすると、問題なくビルドは出来るものの、RegAsmにて

『〜.dllは有効な.NETアセンブリでないため、読み込めませんでした。』

と表示され登録出来ないところでつまずいてます。TT



何がいけないのか、何が.NETアセンブリでないのか、さっぱり解らない次第です・・・

引用返信 編集キー/
■8310 / inTopicNo.6)  Re[5]: VS2005 RegAsmでアセンブリが登録できない
□投稿者/ 渋木宏明(ひどり) (394回)-(2007/09/27(Thu) 18:18:20)
渋木宏明(ひどり) さんの Web サイト
>>RegAsm と署名の間には何ら特別な関連はなかったと思いますけど?
>
>
> 著名の箇所に、[アセンブリを COM 参照可能にする] という項目があり、

(クラスライブラリプロジェクトの)プロジェクト設定の「署名」ページには、それらしい設定は見当たりませんけど?

「署名」ページではなく、「ビルド」のページに「COM 相互運用機能の登録」という設定はありますが、これは「ビルド終了時に RegAsm を実行する=ビルドされた .dll を COM コンポーネントとしてレジストリに登録する」だけのものです。つまり、ビルドを実行したマシンでしか意味を持ちません。

それと、COM コンポーネントとして利用することだけが目的なら、GAC 登録も不要です。

>>てか、本当に GAC への登録や RegAsm で COM コンポーネントとしての登録が必要なんですか?
>
> 前回思いっきりスルーされてしまったのですが、BandObjectというライブラリを使って、
> IEにツールバーを表示させたく、RegAsmでCOM コンポーネントとしての登録が必要だと思ってます。

そういう個人的な事情はどっかに書き添えておいてもらわないと分からんすよ。
「それくらい投稿者のハンドルで検索してリサーチしとけ」ってことならごめんなさい、僕にはそこまでできません。

引用返信 編集キー/
■8587 / inTopicNo.7)  Re[6]: VS2005 RegAsmでアセンブリが登録できない
□投稿者/ asuka (24回)-(2007/10/03(Wed) 14:45:34)
日が経ってしまいましたが、VS2005ツールに付属のコマンドプロンプトから実行することでうまくいきました。

色々とアドバイスありがとうございます。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -