我有一个资源项目用于我们产品的各个部分。为了使其更灵活,我决定将 .resx 放在使用 resgen 工具处理的 dll 的外部,以允许用户即时添加自己的语言文件。由于项目将从不同的地方访问,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:资源位置信息:文件名:Resources.resources"