2016-11-06 13 views
0

私のプロジェクトが既に使用されているソリューション名の下に存在することを認識した後、ソリューション全体の名前を変更することにしました。私は自分のホームページとアプリケーション自体でソースコードを共有したいので、すでに存在する他のプロジェクトのコピーのようにユーザに見せたくないので、これを行う必要があります。 C#+ SharpDevelop:root名前空間を変更した後にresourcemanagerを台無しにしましたか?

が、私はそうのようなすべてのファイル内のすべての名前空間だけでなく、「このNewName」へのAssemblyName、ルート名前空間と「OLDNAME」からのResourceManagerインスタンスの呼び出しに変更:それをやった後

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

を、私は再コンパイルされました何の誤りもなく働いた。残念ながら、最初にresManager.GetString();メソッドを呼び出すと、System.Resources.MissingManifestResourceExceptionでランタイムエラーが発生します。したがって、アプリケーションはもうリソースを見ることができません。しかし、なぜ?

フォルダ構造と他のすべてのソースファイルは変更されませんでした。私はバックアップを復元し、単にルートネームスペースと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ファイルの名前はと"Manifest.de.resx" です」 Manifest.en.resx "。これらのファイルは"ProjectFolder/Resources /"にあります。

答えて

0

私は仕事に戻ってきました。同じことを体験するすべての人にとって、ここに解決策があります:

私はソリューションウィザードで新しいソリューションを開始しました。すべてのプロジェクトをソースファイルを含めて追加してコンパイルしました。

すべてです。 SharpDevelopの具体的な問題と思われますか?

よろしく、スティーブン。

関連する問題