C#+ SharpDevelop:更改root命名空间后搞砸了resourcemanager?

时间:2016-11-06 23:32:31

标签: c# namespaces root sharpdevelop resourcemanager

在使用 solutionname 认识到我的项目已经存在后,我决定重命名整个解决方案。我需要这样做,因为我想在我的主页上分享源代码以及应用程序本身,并且不希望它像用户已经存在的其他项目一样向用户查找。

我更改了每个文件中的所有名称空间以及来自" OldName"的程序集名称,根名称空间和资源管理器实例调用。到" NewName"像这样:

resManager = new ResourceManager("NewName.Resources.Manifest", System.Reflection.Assembly.GetExecutingAssembly());

在这样做之后,我重新编译了哪些工作没有任何错误。不幸的是,在调用第一个System.Resources.MissingManifestResourceException方法时,我遇到了resManager.GetString();的运行时错误。因此应用程序无法再查看资源。但为什么呢?

文件夹结构和所有其他源文件未更改。我恢复了我的备份并想通了,不可能简单地更改根命名空间以及resourcemanager。必须有一些我不知道的东西。

任何帮助都会很棒:-)

以下是我正在做的事情:

namespace NewName
{

//...

ResourceManager resManager;
CultureInfo cultureInfo;

Settings settingsFromFile = new Settings();

settingsFromFile.readSettings();

if (settingsFromFile.Language == "german")
   cultureInfo = new CultureInfo("de");
else
   cultureInfo = new CultureInfo("en");

resManager = new ResourceManager("NewName.Resources.Manifest", System.Reflection.Assembly.GetExecutingAssembly());

//...

contextMenuStripDoFencyStuff.MenuItems.Add(resManager.GetString("contextMenuStripDoFencyStuffText",cultureInfo)); <-- this is where the exception occurs

}

resx文件的名称是&#34; Manifest.de.resx&#34; &#34; Manifest.en.resx&#34; 。这些文件位于&#34; ProjectFolder / Resources /&#34;

1 个答案:

答案 0 :(得分:0)

好的,我恢复了工作。对于每个将体验相同的人来说,这是解决方案:

我使用解决方案向导启动了一个新解决方案。添加了所有项目,包括源文件并进行编译。

多数民众赞成。似乎是SharpDevelop的一个特定问题?!

问候,史蒂文。