問題タブ [target-framework]
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.
.net - 同じプロジェクトの別の構成で別のフレームワーク バージョンをターゲットにするにはどうすればよいですか?
.NET 3.5 を対象とするクラス ライブラリがあります。ここで、.NET 4.0 を必要とするいくつかの機能を追加したいと考えていますが、.NET 3.5 をターゲットとするバージョンを生成できるようにしたいと考えています (もちろん、これらの機能はありません)。
理想的には、構成に基づいて別のフレームワーク バージョンをターゲットにしたいと考えています。
- デバッグ、リリース => .NET 3.5
- デバッグ 4.0、リリース 4.0 => .NET 4.0
残念ながら、ターゲットフレームワークはプロジェクト全体でグローバルであるため、それは可能ではないようです...
それを回避する方法はありますか?同じファイルを含む 2 つ目のプロジェクトを作成できることはわかっていますが、保守性がかなり悪いです....
これを行う最も簡単な方法は何ですか? 似たようなことをしたことがある場合、どのアプローチが最も効果的でしたか?
visual-studio-2010 - TargetFramework 2.0およびresxファイルを使用してプロジェクトを実行しているVS2010により、FileNotFound'System.Windows.Formsv4.0'が発生します
MS Visual Studio 2010からのアプリケーションの実行に問題があります。実際、これは長い話であり、以前はさまざまな関連する問題に直面していました。しかし、プロジェクトは変更なしで少なくとも半年間機能しました。そして今、私はそれを再び実行しようとしていますが、効果はありません。最初は、同じように見える可能性のある関連する問題に関するいくつかのリンクがあります(ただし、同じではないように見えます-関連しているだけです)。
プロジェクトの.NETターゲットフレームワークを4.0から3.5に変更した後、ファイル(またはアセンブリ)が見つかりません
アプリケーションを.net4.0から3.5にダウングレードします
3.5フレームワークを対象とするVS2010のRESXファイルに関する問題
私のプロジェクトにはTargetFramework=2.0があり、アプリの画像とアイコンを含むresxリソースファイルがいくつか含まれています。以前はリソースファイルのコンパイルに問題がありましたが、上記のリンクの投稿のように修正しました。そして、すべてが昨日まで正常に機能しました(私はそのプロジェクトを長い間開いていないので、環境で何が正確に変わったかを言うことはできません)。
そして今、問題自体:プロジェクトのビルドは成功しますが、アプリケーションを実行すると、フォームデザイナコードのリソースでFileNotFoundExceptionが発生します。GetObject( "myImageName")':
Microsoftサイトでこの問題について質問したところ、まったく同じ問題を抱えている人がもう1人見つかりました。しかし、彼の質問は無視され、私の質問にもまだ答えられていません。
環境: Windows 7 x64、.NET 4.0 SP1、VS 2010UltimateSP1。プロジェクトビルド構成:Debug / AnyCPU(AnyCPU / x86のデバッグ/リリースを試しました-すべて同じです。x64とIA64-はこのプロジェクトでは不可能です)
調査の詳細:
- resxファイルには、4.0アセンブリへの参照は含まれていません。特に、System.Windows.Forms2.0とSystem.Drawing2.0を参照しています。
- プロジェクトには含まれていません(TargetFramwork 2.0があるため、4.0アセンブリへの参照を含めることはできません)
- プロジェクトフォルダ全体で「4.0」エントリを検索すると、奇妙な事実が見つかりました。私のexeファイルにはmscorlib4.0への参照があります。実際、私はそれがどのように起こり得るのか、そしてそれをどのように修正するのか理解できません。AppDomain.CurrentDomain.GetAssemblies()はmscorlib 2.0を返しますが、4.0(およびバージョン2.0の他のすべての.NETアセンブリも同様)ではありません。
- resgenを32ビットモードに切り替えても効果はありません。それを元に戻すことも役に立たない。
- 「正しい」バージョンのresgenを使用するようにメモ帳でprojファイルを変更しても効果はありません
- 一日中の調査と他の多くの試みは失敗しました。同じ問題を抱えている人はあまりいません。
- TargetFramework = 3.5の場合も同じですが、TargetFramework = 4.0に設定すると、すべて正常に動作し始めます。残念ながら、現在.NET4.0に移行することはできません。
winforms - VS2010 で WinForm アプリをデバッグできない
自宅の PC で VS2010 で winform アプリを開発しています。私の大学のコンピューターでテストするために、ターゲット フレームワークを .NET Framework 4.0 クライアント プロファイルから .NET Framework 2.0 に変更しました。(既定では、.NET Framework 4.0 クライアント プロファイルが選択されています)。この後、自宅の PC でアプリを実行 (デバッグ) しましたが、動作が遅いため、ターゲット フレームワークを以前のものに変更することにしました。
ターゲット フレームワークを変更した後、アプリをデバッグできません (F5 を押すと、左下に「ビルドが成功しました」と表示されます)。ctrl+F5 を押してアプリを実行できますが、デバッグできません。VS 2010 を再起動しましたが、成功しませんでした。
oracle - タイプまたは名前空間の名前「Oracle」が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?)
Visual Studio 2010で新しいコンソールアプリケーションプロジェクトを作成しました(VS 2012で試しましたが、問題は同じです)。使用法は次のとおりです。
Mainメソッドで私はこのコードを書きました:
ターゲットフレームワークは.NET4.0です。Oracle.DataAccess.dll 4.112.3.0(.NET 4)を参照しました。
問題は次のとおりです。.NET4.0をターゲットにすると、コンパイルが機能せず、タイプまたは名前空間の名前「Oracle」が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?) 。.NETをターゲットにすると4.0クライアントプロファイル、正常に動作します。 実際には、.NET 4.0クライアントプロファイルではなく、.NET4.0フレームワークをターゲットにする必要があります。
この問題の解決策はありますか?
reference - 参照されたアセンブリを含む VS2012 プロジェクトが 4.0 を自動的にターゲットにできない理由
Visual Studio 2012 C# コンソール アプリケーションで、".NET Framework Target" を 4.5 から 4.0 にダウングレードします。両方のフレームワークがインストールされた Win 7 Pro。
次に、アセンブリを参照します。アセンブリは、警告を通じて次のように訴えます。
The primary reference "System.Threading.Tasks.Dataflow, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" could not be resolved because it has an indirect dependency on the framework assembly "System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which could not be resolved in the currently targeted framework. ".NETFramework,Version=v4.0". To resolve this problem, either remove the reference "System.Threading.Tasks.Dataflow, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" or retarget your application to a framework version which contains "System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
この時点でコンパイルしようとすると、アセンブリがまったく参照されていないかのように、参照されているアセンブリの型と名前空間が利用できないため、エラーが発生します。
[参照の追加] ダイアログには System.Runtime の選択肢はありませんが、手動で C:\Windows\Microsoft.NET\Framework\v4.0.30319\ に移動し、そこにある System.Runtime アセンブリを参照すると、警告が消えます。そして私はコンパイルすることができます。
質問:
System.Runtime バージョンのそのような強制は、将来的に潜在的な問題になりますか (展開)。
VS プロジェクトのプロパティがターゲット Framework 4.0 に設定されている場合 (4.0 SystemRuntime/CLR をターゲットにすることに関連していません)、参照された DLL がそれを取得しないのはなぜですか?また、プロジェクトへの参照を手動で追加するのはなぜですか?
asp.net - asp.net ターゲット フレームワーク、および .net バージョンのダウングレード
Web サイトの Web ホスティング プロバイダーに加入しています。データを受信して指定された電子メールに送信する簡単な aspx Web ページ フォームを作成しようとしています。問題は、リモート サーバーが .net バージョン 2.0 を使用しており、私の Web ページがフレームワーク 4.5 をターゲットにしていることです。ビジュアル スタジオでそれを変更して 2.0 でビルドするように変更しても、web.config が原因で、まだサーバー エラー / in application メッセージが表示されます。ファイルには、targetframework =4.5 が認識されないか、windows に等しい認証タグがエラーを受け取ると書かれています。リモート サーバーの IIS マネージャーにアクセスできないため、アプリケーション プールを更新できません。私の問題を解決するために私が取ることができるステップはありますか、またはより良い知識を持っている人が私を助けることができますか? ありがとう
c# - TargetFrameworkAttribute からの参照アセンブリ パスの派生
スタンドアロン ツールで Mono.Cecil を使用してアセンブリを処理しています。このツールは、フレームワークに依存しない (つまり、任意の .NET 4[.x[.x]] 環境で読み込まれる] ことを目的としており、.NET SDK などに依存しません。
IL に次の TargetFrameworkAttribute を含むアセンブリがあるとします。
それを正しいパスであると私が信じているものにマップする正しい方法は何ですか:-
.NET コード内からこれを管理する比較的クリーンな方法があることを願っています。
プログラムで取得する標準的な方法はありC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework
ますか? この中の明らかなサブフォルダ パターンは信頼できますか?つまり、これ以外のドキュメントはありますか?
Microsoft.Common.targets
私は MSBuild を介して見ることができMicrosoft.NETFramework.props
、これに関する「最適化された」ロジックのかなりのウォーレンがあります。私がそれに喜んで取り組んだとしても、たとえばそこにタスクを使用するのは脆すぎて、MSBuild ツール (v12/4 ...) の発見に依存することは理想的ではありません。何か案は?
.net - ターゲット フレームワーク 1.1 を使用した .net フレームワーク 4.5 プロジェクトのビルド (後方互換性の問題)
私は、.net フレームワーク 1.1 で最初に実装された成熟したプロジェクトに取り組んでいます。
進行中の時点で、ほとんどのモジュールは .net Framework 4.0 および 4.5 でアップグレードまたは書き直されています。
現在、このプロジェクトには 3 つの asp .net Web アプリケーションがあります。
- フレームワーク 1.1 で実行されています
- フレームワーク 4.0 で実行されています
- フレームワーク 4.5 で実行されています
そして、フレームワーク4.5で書かれた「CommonLibrary」という名前のVisual Studioプロジェクトがあります
適切なターゲット フレームワーク バージョンでビルドすることにより、すべてのプロジェクトで CommonLibrary を使用することは可能ですか?