- PR -

.NET2.0 で vjslib (v1.1.4322) が参照できません

1
投稿者投稿内容
さとう
会議室デビュー日: 2007/03/11
投稿数: 1
投稿日時: 2007-03-11 20:01
いつも参考にさせて頂いております。

サーバー:
・Win Svr 2003 SP1
・.NET Framework 2.0
・VJ# .NET Redistributable Package 1.1

開発機:
・Win XP Pro
・VS2005(C#)

といった環境で開発を行っている者です。

現在、Web アプリケーションでアップロードした ZIP ファイルを、
サーバー側で解凍する処理を実装しようと思い、
J# の vjslib(v1.1.4322) を参照設定して実行したのですが、
サーバー上で実行した途端、次のようなエラーが報告されて
ほとほと困っております。

-----------------------------------------------------------------

構成にエラーがあります。

説明: この要求を処理するために必要な構成ファイルの
処理中にエラーが発生しました。
以下のエラーの詳細を確認し、構成ファイルに
変更を加えてください。

パーサー エラー メッセージ:
ファイルまたはアセンブリ
'vjslib, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a'、
またはその依存関係の 1 つが読み込めませんでした。
指定されたファイルが見つかりません。

ソース エラー:
行 36: <compilation debug="true">
行 37: <assemblies>
行 38: <add assembly="vjslib, Version=1.0.5000.0,
Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>

ソース ファイル:
C:\Inetpub\wwwroot\XXXX\Web\web.config 行: 38

アセンブリ読み込みトレース:
以下の情報は、アセンブリ 'vjslib, Version=1.0.5000.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
を読み込めなかった原因を調べるのに役立ちます。

警告:
アセンブリ バインドのログ記録がオフにされています。
アセンブリ バインドのエラー ログを有効にするには、
レジストリ値 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) を
1 に設定してください。
注意: アセンブリ バインドのエラー ログに関連するパフォーマンス ペナルティ
があります。この機能をオフにするには、レジストリ値
[HKLM\Software\Microsoft\Fusion!EnableLog] を削除します。

-----------------------------------------------------------------

検索の仕方がよくないのか、いろいろ探してはみたのですが、
ヒントが得られずじまいという有様です。

旧バージョンのモジュールを利用する際は、参照設定を修正する
以外に何か他に設定(手続きなど)が必要なものでしょうか?

または、参照設定の書き方がよろしくないのでしょうか?

-----------------------------------------------------------------
<system.web>
<compilation debug="true">
<assemblies>
<add assembly="vjslib, Version=1.0.5000.0,
Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
</assemblies>
</compilation>
</system.web>
-----------------------------------------------------------------
未記入
大ベテラン
会議室デビュー日: 2006/12/15
投稿数: 157
投稿日時: 2007-03-13 10:41
J#使ったことないけど誰も回答しないので・・・
パーサー エラー メッセージ:'vjslib, Version=2.0.0.0
<add assembly="vjslib, Version=1.0.5000.0,
パーサーが2.0を探してるのかな?
以下確認して見て下さい。
1、サーバに1.1が入っている
2、サーバ上のWebConfigに1.1が指定されている
3、サーバ上にJ#2.0は入っているか
4、J#2.0が入っているなら他のサービスで使ってたりするか
 3,4該当するならMSDNも見て下さい。

根本的な問題として.NetFrameWork2.0から古いJ#1.1を呼んでるのもよくないかも。
J#2.0ではダメなんですかね?
過去ログに明示的に違うバージョンを読み込むアセンブリの設定の仕方があったような気がするんだけど見つからない_no
すけけん
会議室デビュー日: 2007/02/26
投稿数: 7
投稿日時: 2007-03-13 13:22
#参照ができないということの回答ではないですが。。
#ちょっと気になったので。

J#のクラスを使っての圧縮や解凍を行っているのだろうと思うのですが
環境が.NET Framework 2.0ならzipファイルの圧縮/解凍を
System.IO.Compression名前空間の
DeflateStreamクラスまたはGZipStreamクラスでできますよ。

参照サイト
http://www.microsoft.com/japan/msdn/thisweek/300x10/phase3/compress/cs.aspx

[ メッセージ編集済み 編集者: すけけん 編集日時 2007-03-13 13:29 ]
ぽぴ王子
ぬし
会議室デビュー日: 2006/03/24
投稿数: 475
お住まい・勤務地: お住まい:城・勤務地:城
投稿日時: 2007-03-13 13:42
これまた回答とはちょっと違うので恐縮ですが、ちょっと訂正させてください。

引用:

すけけんさんの書き込み (2007-03-13 13:22) より:

J#のクラスを使っての圧縮や解凍を行っているのだろうと思うのですが
環境が.NET Framework 2.0ならzipファイルの圧縮/解凍を
System.IO.Compression名前空間の
DeflateStreamクラスまたはGZipStreamクラスでできますよ。


GZipStream クラスは zip ファイルではなく gzip ファイル用ですね。
一般には *.tar.gzip とか *.tgz ファイルで使用されています(tar 部
分は自分で作る必要がありますが)。
# 以前使ったときは自分で tar を作るコードを書きました
DeflateStream はデフレートアルゴリズムを提供するもので、zip ファイ
ルとして扱うにはフォーマット部分を自作しなくてはいけないかもしれませ
ん。

結局のところ、zip ファイルを扱うには SharpZipLib を利用するか、今回
のように J# の機能を利用するのが一番手っ取り早いと思います。

参考リンク
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=598235&SiteID=7
_________________
ぽぴ王子@わんくま同盟
ぽぴ王子の人生プログラミング中 / ぽぴンち。
すけけん
会議室デビュー日: 2007/02/26
投稿数: 7
投稿日時: 2007-03-13 14:22
引用:

ぽぴ王子さんの書き込み (2007-03-13 13:42) より:

GZipStream クラスは zip ファイルではなく gzip ファイル用ですね。
一般には *.tar.gzip とか *.tgz ファイルで使用されています(tar 部
分は自分で作る必要がありますが)。
# 以前使ったときは自分で tar を作るコードを書きました
DeflateStream はデフレートアルゴリズムを提供するもので、zip ファイ
ルとして扱うにはフォーマット部分を自作しなくてはいけないかもしれませ
ん。

結局のところ、zip ファイルを扱うには SharpZipLib を利用するか、今回
のように J# の機能を利用するのが一番手っ取り早いと思います。

参考リンク
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=598235&SiteID=7




自分はできるものだと思い込んでいました。。
申し訳ない。。

ぽぴ王子さん訂正ありがとうございます。
1

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