2017-01-04 3 views
0

私はドットネット4にターゲットフレームワークを設定したvb.netプログラムを持っていますが、ドットネット3.5なしのマシンで実行すると(dot net 4.5.2がインストールされたWindows 8.1マシン)、バッチファイルを開始するプロセスを使用するコードが取得されたときにdot net 3.5をインストールするように求められます。ドットネット4 vb.netプログラムはドットネット3.5をインストールするように頼みます

ドットネット4を完全に使用するように再ターゲッティングしようとしましたが、それは役に立たなかったので、dotPeekを使用してフレームワークターゲットとILディスアセンブラを確認しました。

アイデア?

+0

高度なコンパイルオプションはチェックしましたか? [参照](https://msdn.microsoft.com/en-us/library/07bysfz2.aspx) – OSKM

+4

セットアップの依存関係を見てください。 Framework 3.5を選択しました。 –

+1

[4.0はサポートされていないバージョン](https://blogs.msdn.microsoft.com/dotnet/2015/12/09/support-ending-for-the-net-framework-4-4-5-and- 4-5-1 /)では、4.6.1 –

答えて

0

Windows 8には、デフォルトで.NET 3.5(.NET 2.0および3.0を含む)は含まれていません。しかし、ユーザーがWindows 7からWindows 8にアップグレードする場合、.NET Framework 3.5は完全に有効になっています。ユーザーは、プログラムと機能をチェックすることで、この機能が有効になっていることを確認できます。

これらは、ユーザーがそれを確認するために行うことができます手順のリストです:コンピュータが何の.NET 3.5を持っていない

How to enable .NET Framework 3.5

場合はインストールアプリの起動する一切CLRはありません。互換性の問題が発生する可能性があるため、.NET 4.0は自動的に使用されません。最初に、アプリケーションが.NET 4.0で動作することをテストし、app.configにこのセクションを追加して、CLRに.NET 4.0の実行を優先させるよう指示します。

<configuration> 
    <startup> 
     <supportedRuntime version="v4.0.30319"/> 
    </startup> 
</configuration> 

ご確認ください。このanswer

+1

のようなフレームワークの新しいバージョンに移行することを検討する必要があります。これは4.xアプリケーションが3.5を要求している理由を説明していませんか? –

+0

ok私は自分の答えを編集しています –

0

それが関係するライブラリのいずれかが、3.5に依存している可能性があります。すべてのアセンブリが同じ.Netバージョンを使用していることを確認します。

0

バッチファイルのinstallutil.exeが見つかりました。これがdot net framework 3.5の要求を引き起こしていました。

c:\ windows \ microsoft.net \ framework \ v4.xxxxxxxフォルダからinstallutil.exeをコピーしたら、プログラムは自動的に動作しました。

すべての迅速な回答ありがとう:-)

関連する問題