問題タブ [shared-project]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
visual-studio-2013 - Visual Studio 2013 の RC 更新プログラム 2 を使用した共有プロジェクト
最近、Visual Studio 2013 の RC アップデート 2 をインストールしました。ユニバーサル アプリのテンプレートを調べると*******.Shared
、拡張子が.shproj
.
オンラインでいくつかの資料を調べているときに見つけたのは、コードとファイルを共有するためのプロジェクト テンプレートで、とてもクールだと思いました。しかし、それに取り組み始めたとき、私は障害にぶつかりました。このプロジェクトへの参照を追加するにはどうすればよいですか? 誰かがこれを解決しましたか?
visual-studio-2013 - プロジェクト 'projectname.Shared' は、既にソリューションのメンバーであるため、ソリューションに追加できません
トピック: Visual Studio 2013 で共有 (ユニバーサル) ライブラリ プロジェクトを DirectX+XAML ユニバーサル アプリに追加する
VS2013 Direct-X/XAML ユニバーサル アプリを作成しました。ユニバーサル アプリなので、3 つのプロジェクトがあります。
- Win 8.1 のプロジェクト
- Win Phone 8.1 のプロジェクト
- Win 8.1 と Win Phone 8.1 プロジェクトの間で共有されるコードの「共有ノード」。
VS2013 静的ライブラリ (ユニバーサル アプリ用) も作成しました。これはユニバーサル アプリ用のライブラリであるため、次のものが含まれています。
- Win 8.1 のプロジェクト
- Win Phone 8.1 のプロジェクト
- Win 8.1 と Win Phone 8.1 プロジェクトの間で共有されるコードの「共有ノード」。
スタティック ライブラリ プロジェクトを Direct-X/XAML アプリに追加し、共有ライブラリのソース コードを表示できるようにしたいと考えています。
静的ライブラリには 2 つのプロジェクトが含まれているため、両方のプロジェクトをアプリケーションに追加する必要があります。また、アプリ内の Win 8.1 プロジェクトが Win 8.1 lib プロジェクトに依存し、Win Phone 8.1 アプリ プロジェクトが Win Phone 8.1 lib プロジェクトに依存するように、依存関係リストも更新します。
上記を完了した後、ライブラリから共有ノードが表示されません。ライブラリ プロジェクト間で共有されているソース コードを表示できるようにしたいと考えています。
この問題を解決するにはどうすればよいですか?
c# - Automation EnvDTE を介して共有プロジェクト参照を追加する
プロジェクトに共有プロジェクト参照を追加する必要があります。
ProjectItems インターフェイスのいくつかのメソッドを試しましたが、うまくいきませんでした。共有プロジェクト参照が列挙可能な Project.ProjectItems に「< SharedContent>」という名前でリストされているため、これを行いました。
共有参照がある場合とない場合の csproj ファイルを比較しました。唯一の違いは、次のような import 要素です。
これらのインポート要素を追加するにはどうすればよいですか?
Obs: 「SharedContent」は私のプロジェクト名です
更新 1 :
また、ソリューション ファイルも変更されていることに気付きました。
2 行目の参照は、共有参照を追加したプロジェクトの GUID と共に追加されます。
visual-studio - 共有プロジェクトを別の共有プロジェクトから参照することはできますか?
Visual Studio 2013 の新しい共有プロジェクト機能を見ています。これは非常に優れた機能ですが、「ベース」共有プロジェクトのコードを「上位レベル」共有プロジェクトで使用するにはどうすればよいですか? 共有プロジェクトに参照機能がないように見えます...???
複数のプロジェクトでコードを分離する可能性なしに、大規模な現実世界のビジネス アプリを構築するにはどうすればよいでしょうか?
更新: 私は十分に明確ではなかったと思います:
Windows プラットフォーム用のユニバーサル アプリを開発し、iOS および Android サポート用に xamarin を使用するとします。したがって、プラットフォーム固有のコードをプラットフォーム固有のプロジェクトに配置し、共有ライブラリでインターフェイスを定義し、依存性注入を介してプラットフォーム固有のコードを共有コードに渡し、プラットフォーム固有のプロジェクトからすべてのプラットフォーム固有のライブラリを参照します。
ここまでは順調ですね...
ただし、プラットフォーム固有のコードを小さく保つために、共有プロジェクトでビジネス ロジックとビジネス ロジックのベース フレームワークを開発します。
これで 2 番目の顧客ができました。ここでもちろん、ベース フレームワークを再度再利用して、新しいビジネスおよび UI レイヤーだけを構築します。
ここで、両方のプロジェクトで同じフレームワーク レイヤーを使用したいと考えています。
共有プロジェクト間の参照ができない場合、これを行う方法は?
(私のプロジェクトの通常のソリューションには約1000以上のファイルがあるため、ファイルのリンクは可能なオプションではありません。そのため、すべてのソリューションでリンクする必要があるすべてのファイルを追跡することはできません。 / ilMergeもそうではありません可能 - WPF プロジェクトをマージできず、Android および iOS でも機能しません...)
c# - Visual Studio の共有プロジェクトのローカライズ可能な文字列
共有プロジェクトの概念を利用して、WPF プロジェクトと Android (Xamarin.Forms) の間でクライアント アプリケーション ロジックを共有しようとしています。両方のプロジェクトで同じローカライズ可能なテキストを使用したいので、(テキストを含む) リソース ファイルを共有プロジェクトに移動するのが理にかなっています。
次のサンプルは WPF プロジェクトのものですが、直面している問題は WPF ではなく共有プロジェクトに関連しています。
XAML ベースのビューの WPF プロジェクトでは、次のように文字列値にアクセスします。
ファイルStrings.resx
とその翻訳はフォルダにありますI18N
。プロジェクトのルートには配置されません。したがって、生成さpublic class Strings
れた は namespace に配置されますTestApp.I18N
。I18N フォルダーが WPF プロジェクトに直接属している場合、すべてがうまく機能しますが、I18N を共有プロジェクトに移動すると、WPF アプリケーションが例外でクラッシュします。
指定されたカルチャまたはニュートラル カルチャに適したリソースが見つかりませんでした。コンパイル時に "TestApp.I18N.Strings.resources" がアセンブリ WPF に正しく埋め込まれているかリンクされていること、または必要なすべてのサテライト アセンブリが読み込み可能で完全に署名されていることを確認してください。
逆アセンブリ ツールを使用してコンパイルされたアセンブリを調べると、両方のコンパイルの違いがわかります。
- I18N フォルダーが共有プロジェクトに属しているコンパイルでは、次の名前のリソースが表示されます
TestApp.Strings.resources
- I18N フォルダーが WPF プロジェクトに属しているコンパイルでは、次の名前のリソースが表示されます
TestApp.I18N.Strings.resources
最初のケースでアプリがクラッシュする理由を実際に説明しています。そして、どのような回避策を使用できるかは明らかです (Strings.resx
プロジェクトのルートに配置して関連付けることができます)。しかし、適切なサポートが不足しているため、共有プロジェクトにリソースを配置することはお勧めできません。誰かがその方向で自分の経験を共有できますか? コンパイラによる共有プロジェクトのリソース ファイルの解釈が少し異なるのはなぜですか?