2009-07-22 12 views
2

私は/ root/dnnのサーバーにdotnetnukeポータルを持っていますが、/ root/appにアップロードする必要があるC#VS2008にasp.netアプリケーションを作成しています。asp.netの別のフォルダからdotnetnuke.dllを参照しています

私のアプリを配備するときは、/ root/app/binではなく/ root/dnn/binからdotnetnuke.dllアセンブリを参照する必要があります。

どのようにすれば、/ root/dnnにアプリケーションファイルを置くことなく、それを管理できますか?

自動リフレッシュパスを設定しようとしましたが、アップロード後に/root/app/bin/dotnetnuke.dllを削除して、アプリが../dnn/bin/dotnetnuke.dllの欠落しているアセンブリを参照しようとしましたが、 "アプリケーションはあらかじめコンパイルされていません"というエラーが出るので、プレコンパイルせずにアップロードしようとしましたが、まだ参照が見つかりませんでした。

答えて

2

あなたのアプリを自分のコピーにしてみませんか?それはすべての問題を解決するでしょう...

言い換えれば、なぜクロスアプリケーション参照ですか?これは、すべての後にIISとASP.NET

+0

それ自身のコピーをポータルで使用されていないので、私は(新しいDotNetNuke.Entities.Modules.PortalModuleBase())。ユーザーIDと同じようにして、いくつかのポータル関連のものを行うことはできません。 – Ivan

+1

私はあなたがまだライブラリを作成し、あなたのアプリに読み込まれるので、あなたはまだそれを行うことができない参照を取得することを期待しています。 –

+0

私はdnnモジュールを書く必要がありますが、aspxページを作成してdnnフォルダに入れようとしましたが、ログに記録されているユーザーのためにIFrameのaspxページがuserIDを取得します – Ivan

0

のすべてのセキュリティ・メカニズムに反する、私は、DNNのbinフォルダにポータルフォルダのbinファイル内と.aspx.csファイルを.aspxのアップロード、私のウェブから数行を追加する必要がありました。 configをdnnのweb.configに追加し、データセットオブジェクト(.xsd、.xssファイル)を使用せずにコードからコードを書き込んで、データベースにクエリを変更します。 C#とVSをdnnのApp_Codeで一緒にコンパイルすることができないため、アップロードの前に私のApp_Codeから自分の.csファイルにコードをコピーしなければなりませんでした。

+0

dnn私はdnnポータルから新しいページを追加し、それを「レポート」という名前にしています。次に、そのページにIFrameを追加し、IFrameで読み込んでいたファイルをReport.aspx(私のアプリから)と呼びました。最初に、私のページがIFrameに表示されない理由を理解できませんでしたが、同じ名前に気づくまで、再帰的に表示されていました。:S – Ivan

+1

C#とVBをApp_CodeフォルダにまとめてC#でディレクトリのweb.configの 'codeSubDirectories'要素に要素を追加すると、別々にコンパイルされます。 – bdukes

+0

ニート。その情報をありがとう、私は将来の状況のた​​めにそれを覚えています – Ivan

0

私はあなたがしようとしているあなたの最善の策は、サーバー上のGACにDotNetNuke.dllをインストールすることだと思います。私は、ASP.NET/IISが現在のWebサイトのフォルダ構造の外にあるアセンブリへのアクセスを許可するとは考えていません。

2

パープルAntは上記に述べたように、いずれかの

  1. 負荷
  2. はDNNにあなたのアプリを入れて(それは後でDNNをアップグレードXCOPYすることができることからあなたを排除するため、面倒である)GACにDotNetNukeのアセンブリアプリケーションフォルダ(あなたのやりたように聞こえる)
  3. DNN dllをあなたのアプリケーションフォルダにコピーします。 (最も一般的な解決策)

あなたが考えているのは、設定ファイルの<probing privatePath="" />要素です。しかし、私はそれがWebアプリケーションで使用できるとは思わないし、(ドキュメントによると)サブフォルダでのみ動作します。

<configuration> 
    <runtime> 
     <assemblyBinding> 
     <probing privatePath="bin;bin2\subbin;bin3"/> 
     </assemblyBinding> 
    </runtime> 
</configuration> 
関連する問題