私は大規模なシステム(10以上のEXEと50以上のDLL)で動作します。このシステム全体は、コンポーネントを.NETフレームワークに移行する2005年頃までC++で書かれていました。Visual Studio 2015がC++/CLIプロジェクトのスタティックライブラリをリンクしていません
個々のDLLプロジェクトをC++/CLIに切り替えて、従来の管理されていないAPIと新しい管理対象APIを同じDLLに提供することができれば、これは大きな努力を払います。
このアプローチは、最初に開始したときに機能しましたが、すぐ後に壊れました。 Visual Studioでは、アンマネージAPIを介して相互にリンクする2つのC++/CLIプロジェクトをサポートするようには見えません。
1つのプロジェクトのエクスポートライブラリをコンテンツとして別のプロジェクトに追加することができますか?それはプロジェクトの依存関係がすでに処理しているものです。
静的ライブラリに* managed *コードをリンクすることはできません。リンカーは、CLRが行うはずのジョブを実行することはできません。マネージコードは実行時にバインドされます。/clrを有効にしてネイティブコードをコンパイルすると、このような問題が発生します。それはうまくいくが、両方の世界の最悪を生み出す。回避策は、コードを分割することです。静的ライブラリにネイティブコードを保存し、アセンブリ内のマネージコードを保持します。 –
@Hansこれはツールチェーンがそれをうまく処理するビルドシステムの質問のようです –