ソリューションのプロパティでターゲットフレームワークを設定すると、そのフレームワークまたはそれ以下の機能のみを使用するようにアプリケーションが制限されるという印象を受けました。私たちはただ誰かがリファレンスを追加してより高いバージョンのフレームワークからコードを使用することができ、コンパイラは1ビット不平を言っていないことを知りました。私たちは今後これを避けたいと思っていますので、誰かがより高いバージョンを参照しているものをどのように検出できるかについてのアイデアはありますか?誰かが目標を上回るコードを追加した場合、ビルドに失敗する必要があります。特定のバージョンの.netフレームワークを適用する方法
3
A
答えて
0
1
.NET 2.0以上をターゲットとしていると仮定します。プロジェクトの参照でSystem.Coreや他の3.xアセンブリ(WPFなど)への参照を検出すると、ビルドが失敗する可能性があります。
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data.DataSetExtensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
これは、カスタムNAntのタスクのようになります。<ItemGroup>
タグの中に、次に
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
:あなたは、各.PROJ
ファイル内にチェックをして始めることができ
UPDATE
これらのノードを探してビルドに失敗するように独自のパーサーを作成してください。
+0
これはどのように検出しますか?私はマニフェスト、projファイルなどを見てきました。そして、各dllとどのバージョンのグローバルリストもなく、私は最良の判断方法を理解することができません。良いニュースは私がVS 2010をテストしたので、これを強制するので、最良の選択肢は2010年を待ってただちにアップグレードすることです。 – Alex
関連する問題
- 1. 特定のIEバージョンにCSS値を適用する方法
- 2. .NETの.NETバージョンを指定する方法4 MicrosoftのC#コンパイラ?
- 3. Microsoft .netフレームワークのバージョンとサブバージョン
- 4. サードパーティ製アセンブリの特定のバージョンを適用します。
- 5. フレームワークのバージョンを指定する方法は?
- 6. 特定の残りのエンドポイントにCORSを適用する方法
- 7. 特定のフォルダのみにカスタムハンドラを適用する方法
- 8. メソッドのパラメータに特定のオブジェクトを適用する方法
- 9. jqueryデータテーブルの特定の列にソートを適用する方法
- 10. Sharepoint 2010で使用する.netフレームワークのバージョンは?
- 11. 特定のコンテナに関数を適用する方法は?
- 12. idで特定の要素にCSSを適用する方法
- 13. Word文書に特定のXSLTシートテンプレートを適用する方法
- 14. テンプレートコールバックパラメータに特定のシグネチャを適用する方法
- 15. スクリプトタグを特定の要素に適用する方法
- 16. WPF-特定のDataGridColumnHeaderにLayoutTransformを適用する方法
- 17. 各特定の変数にgensymを適用する方法
- 18. LocalDBに特定のバージョンを使用させる方法
- 19. .NETのバージョンを変更する方法
- 20. IISおよび.netフレームワークのバージョン
- 21. 特定のテストに適用するJUnitルールを設定する方法
- 22. phoenixフレームワークのモデルにカスタム検証ルールを適用する方法
- 23. Linux上で適切なバージョンのPHPを設定する方法
- 24. #!でPythonのバージョンを特定する方法環境変数を使用する
- 25. WiXで最低限必要な.NETフレームワークのバージョンを指定するには
- 26. Cabal - 特定のバージョンのパッケージをインストールする方法
- 27. 特定のバージョンのノードをbrewにインストールする方法は?
- 28. CentOS 6.6に特定のバージョンの人形をインストールする方法
- 29. SubversionとDBUnit - 特定のスナップショットのバージョンをダウンロードする方法
- 30. GACから特定のバージョンのアセンブリをロードする方法
このフラグは、ライブラリではなく上位フレームワークの言語(clr)機能のみを許可しません。 – andyp