0

製品のさまざまな部分に使用するリソースプロジェクトがあります。より柔軟にするために、resgenツールで処理されたdllの外部に.resxを配置して、ユーザーがその場で独自の言語ファイルを追加できるようにすることにしました。プロジェクトにはさまざまな場所、Web、サービス、またはスタンドアロンのwinFormからアクセスするため、.dllが配置されている場所のパスを取得して、次の正しいパスを指定するにはどうすればよいですか。

[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
    public static global::System.Resources.ResourceManager ResourceManager {
        get {
            if (object.ReferenceEquals(resourceMan, null)) {
                temp = ResourceManager.CreateFileBasedResourceManager("Resources", cwd, null); 
                resourceMan = temp;
            }
            return resourceMan;
        }
    }

パスをハードコーディングすることができ、実行時にパスを把握してもらいたいのですが、うまく機能します。

私はこのようなことを試みましたが、うまくいきませんでした

string fullPath = System.Reflection.Assembly.GetAssembly(typeof(Resources)).Location;

//get the folder that's in
string theDirectory = Path.GetDirectoryName(fullPath); ResourceManager temp =

"Could not find any resources appropriate for the specified culture (or the neutral culture) on disk.

baseName:リソースlocationInfo:fileName:Resources.resources "

4

1 に答える 1

0

から動作する次のものが見つかりました

コードが含まれているアセンブリのパスを取得するにはどうすればよいですか?

string codeBase = Assembly.GetExecutingAssembly().CodeBase;
UriBuilder uri = new UriBuilder(codeBase);
var path = Uri.UnescapeDataString(uri.Path);
var theDirectory = Path.GetDirectoryName(path);
于 2013-02-26T19:39:13.410 に答える