2012-01-30 38 views
2

我有这样的代码:程序集和资源名称无效?

Assembly myAssembly = Assembly.GetExecutingAssembly();     
foreach (string resourceName in myAssembly.GetManifestResourceNames()) 
{ 
    ManifestResourceInfo info = myAssembly.GetManifestResourceInfo(resourceName); 
} 

为什么信息总是?我有7个ResourceFiles(的.resx)和资源名称其中之一看起来像这样:

"SchemaDifferenceFinder.Model.SQLStatements.MissingTriggers.resources" 

哪些错误,还是对资源名称必须是别的东西?

回答

0

尝试

System.Reflection.Assembly assem = System.Reflection.Assembly.Load("TestLibrary"); 
System.Resources.ResourceManager rman = new System.Resources.ResourceManager("TestLibrary.Properties.Resources", assem); 
String s = rman.GetString("String1"); 

您需要创建的ResourceManager比可以访问

资源的数据编辑

var assembly = Assembly.GetExecutingAssembly(); 
foreach (var resourceName in assembly.GetManifestResourceNames())  
       System.Console.WriteLine(resourceName); 
+0

I'l尝试这个,至少我只需要FileName,在我的例子中,我会这样做:info.FileName,但它不可能,导致其始终为空 – eMi 2012-01-30 08:39:40

+0

在你的例子中,s也是null :( – eMi 2012-01-30 08:42:31

+0

您的编辑工作,并且这一直工作,但我不需要那样做,我需要指定资源的FileName – eMi 2012-01-30 09:13:19

相关问题