在使用 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; 。
答案 0 :(得分:0)
好的,我恢复了工作。对于每个将体验相同的人来说,这是解决方案:
我使用解决方案向导启动了一个新解决方案。添加了所有项目,包括源文件并进行编译。
多数民众赞成。似乎是SharpDevelop的一个特定问题?!
问候,史蒂文。