2012-02-01 10 views
0

私はこれに対して良い答えを見つけるために数時間を費やしました。どのようにXMLファイルをクラスライブラリにロードできますか?私はこの質問に対する具体的な答えを確認しました。もしこれが尋ねられたら、まともな答えにつながった言葉ではありません。AppDomain.BaseDirectory()vs HttpContext.Current.Server.MapPath()vs ?? in Class Library XMLファイルをロードする

Web依存リファレンスなしでクラスライブラリ内のXMLファイルを参照できるだけでよい。

私はプロジェクトを持っています。さまざまな機能や、アプリケーション、デスクトップ、Web、社内などの複数の表現に使用されるクラスライブラリを構築しています。返されたパスに頼ることができます。

物理パスをAppSettingまたは類似したものとして考えたことがありますが、必要がなく、binディレクトリ(コピーは常に)に.xmlファイルがあり、そこから参照するだけです..

Assembly.GetExecutingAssembly().Location // base .net directory? windows/.net/... 
AppDomain.CurrentDomain.BaseDirectory // based directory of app that references .dll 

(たぶん私は上記を悪用/誤解だ?)

基本的に私は、ファイルを参照したいです。私は前にこれをやったことが分かっていますが、現時点では私は完全に逃げ出しています。私は道を導いたリソースを見つけることができません。私は他のスタックポストへの参照の束を予測し、そのうちの一つが動作する場合、そうそれは、しかし、HttpContext.Currentが解決

UPDATE :::

であると言うものを送信しませんよ

素早く答えてくれてありがとう。..

作品のこのような、しかし、私はアプリにパスする必要が好きではありません:

AppDomain.CurrentDomain.BaseDirectory +「\ BIN \ DataXML \ TaskData.xml」。

+1

ビンに入れた場合は、xmlファイル名をパスなしで参照できるため、動作するはずです。 –

答えて

1

xmlを含むStreamのDLLにあるクラスをフィードしないのはなぜですか?次に、DLLを使用するプログラムは、ストリーム、おそらくファイル、メモリ、またはどこからでも取得できます。

namespace MyNameSpace 
{ 
public class MyClass 
{ 
    public void LoadXML(Stream xmlStream) 
    { 
    } 
} 
}