2012-05-09 8 views
1

Windows Vistaの32ビットを指定見つけることができないファイルまたはアセンブリをロードできませんでした - のC# - .NET 4 - SQLiteは - 私は小さなプロジェクトを構築しています7は7 + HTTPカスタムハンドラエラーをIIS:システムファイルが

をIISユーザがXMLファイルを要求できるカスタムHTTPハンドラが含まれており、プロジェクトがファイルを生成してユーザに送信します。それは他の何かを送るのに十分柔軟でなければなりません。 json。

ハンドラをデプロイするまで、すべてうまくいっていました。私は、要求された情報を提供するためのロジックを含むライブラリ(dll)ファイルを作成しました。私はIISマネージャーを開いて、私はデバッグビンファイルに仮想ディレクトリを作成しました(後で私はそれをアプリケーションにしました。それは違いはありません)。

私はこれらのもののように無数の例やチュートリアルに従ってきた:私はこの1つで起動

http://support.microsoft.com/kb/308001

http://msdn.microsoft.com/en-us/library/bb515343.aspx

msdn.microsoft.com/en-us/library/46c5ddfy。 aspx

運がない。いつ

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.webServer> 
    <httpErrors errorMode="Detailed" /> 
    <asp scriptErrorSentToBrowser="true" /> 
    <directoryBrowse enabled="false" /> 
    <handlers accessPolicy="Read, Script, Execute"> 
     <add name="LigoManagedHandler" path="*" verb="*" type="Ligo.Service, Ligo" resourceType="Unspecified" preCondition="integratedMode" /> 
    </handlers> 
    </system.webServer> 
</configuration> 

:あなたが読んでいる可能性があるので私はbinフォルダに追加した、それはこのようになりますweb.configファイルを持っていないにもかかわらず、任意のasp.netのウェブサイトを使用していませんよ(「のhttpHandlers」、「クラシックモード」のように...)私はそれが働いて取得するIISマネージャで非常に多くの可能な組み合わせを試してみました

Could not load file or assembly 'Ligo' or one of its dependencies. The system cannot find the file specified. 


Exception Details: System.IO.FileNotFoundException: Could not load file or assembly 'Ligo' or one of its dependencies. The system cannot find the file specified. 

が、次のエラーを取得し、ブラウザでハンドラを実行しよう私は本当に立ち往生している。私がインターネット上で見つけた情報はあまり役に立たない。

私はそれを動作させるために間違っているか紛失していますか?

答えて

2

私はそれを理解します。 asp.netのウェブサイトプロジェクトを作成し、このプロジェクトの参照としてdllを追加する必要がありました。

私はインターネット上ではっきりしないこの情報を提供したこのスレッドを読んでいます。

http://forums.asp.net/t/1088861.aspx/1?What+causes+the+quot+Could+not+load+type+quot+problem+

ASPNETのウェブサイトのプロジェクトなしHTTPHandlerのを作ることは不可能であることを明記してください。または私は間違っていますか?インターネット上の例は間違っています!あまりにも少ない情報を提供することができます。

2

何かこのぞっとした発言は、私が答えを見つけたことを引き起こしました。

Web.Configのハンドラセクションにtype="ClassName, AssemblyName"と書かれているチュートリアルの行はすべて間違いです。

私はこれをtype="AssemblyName.ClassName"に変更し、作成したWebサイトプロジェクトとWebアプリケーションプロジェクトの両方ですべてが機能し始めました。

私はIIS 7.5をYMMVのように統合モードで実行しています。

クレイグ

+0

@ミハイコードの書式は、コードのためのものであり、ランダムなフレーズを強調するものではありません。 http://meta.stackexchange.com/q/116741/175647 –

1

私が知っている、これは古いスレッドです。しかし、私は明確なものを見つけることなく、数日間の答えを探してきました。したがって、誰かが同様のシナリオに遭遇する場合に備えて。

カスタムHttpハンドラをスタンドアロンクラスライブラリプロジェクトとして作成し、IISで使用できます。

IISの場合ASP4統合モードの新しいアプリケーションを追加します。あなたのコンパイルされたDLLをbinフォルダに置きます(これは私が全部欠けていたものです)。それがそこにあるはずであることは明らかです。これを理解するまでに時間がかかりました。 :)

web.configファイル:

<configuration> 
    <system.web> 
     <compilation debug="true" targetFramework="4.0" /> 
    </system.web> 
    <system.webServer> 
    <handlers> 
     <add verb="*" path="*.ogg" name="test" type="Namespace.Classname"/> 
    </handlers> 
    </system.webServer> 
</configuration> 

この情報がお役に立てば幸いです。 乾杯。