2

Visual C#2008には、2つのプロジェクトがあるソリューションがあります。

最初のプロジェクトには、次のように、Properties.Resourcesからの文字列に設定されたテキスト付きの1つのラベルを表示するForm1が含まれています。

label1.Text = Properties.Resources.MY_TEXT;

2番目のプロジェクトでは、最初のプロジェクトからこのForm1を「リンクとして追加」します。このフォームを表示したいので、最初のプロジェクトから呼び出されたときと同じように表示されます。最初のプロジェクトで定義されたテキストProperties.Resources.MY_TEXTのラベルが表示されます。

残念ながら、2番目のプロジェクトは次のエラーメッセージでビルドされません:「名前'プロパティ'は現在のコンテキストに存在しません」。

これを解決する方法はありますか?最初のプロジェクトの「Resources.resx」ファイルを「リンクとして追加」しようとしましたが、役に立ちません。

編集:Project1をProject2の参照として追加すると、すべてが機能することがわかりました。また、Project1リソースのAccessModifierをInternalからPublicに変更する必要がありました。これは正しいアプローチですか?

ありがとう、ペトル

4

2 に答える 2

2

はい、それは正しいアプローチです (あるプロジェクトを別のプロジェクトから参照します)。適用したいパターンは、すべての参照/ルックアップ/設定を含む 1 つのプロジェクトを作成することです。そうすれば、UI プロジェクト間の依存関係を解決する必要はありません。

リソースを公開するというあなたのアプローチは正しいです。

アセンブリの結合についても質問されました。ILMerge ツールを見てください。

于 2008-11-16T07:00:55.947 に答える
0

そのプロパティにアクセスできるように、「using MyOtherProjectNamespace」を追加する必要があります

于 2008-11-15T20:15:30.883 に答える