2016-05-10 13 views
1

私はVisual Studio 2013の下で開発された比較的大きなWinFormsアプリケーションを持っています。私は最近、別のコンピュータのVisual Studio 2015にアップグレードし、プロジェクトをその下で動作させようとしています。暗号化に関連するソリューションをVS2013からVS2015に移行する問題を解決しますか?

私の最初の問題/懸案事項は、Visual Studio 2015で初めてプロジェクトを開くときにソリューションをVisual Studio 2015に「アップグレード」するよう要求していないことです。私は、Visual Studioにソリューションを "アップグレード"し、古いVS10ソリューションの代わりに、たとえばVisual Studio 2013ソリューションとして認識される新しい.slnファイルを作成することに慣れています。

私が直面している実際の問題は、暗号化に対処しているような〜10エラーです。私が推測できるところからは、これはソリューション自体と関係があり、私がプロジェクトで使用している最も暗号化されているものを背景として見ると、マイクロソフトはGuidを生成しています。私が持っている

エラー enter image description here

の画像1つのその他の問題は、私はに慣れていない午前として、私は彼らが自己のVisual Studioは、彼らが考えているところにつながるべきでエラーをダブルクリックすることができない、ということです発生します。したがって、私は何がそれらを生成しているか、ここからどこに行くのかはわかりません。

提案がありますか?


これは古いモデルのLenovo ThinkpadにインストールされたWindows 7です。このコンピュータには管理者権限もありません。


編集:私は(も、新鮮な再起動後)、それを編集しようとするたびにかかわらず、は、これまでのところ私は、ファイルが「常に」開かれ、C\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Devenv.exe.configでファイルのVisual Studioに15点の設定を<enforceFIPSPolicy enabled="false"/>を追加しようとしました別のプログラムによって。だから私は、Visual Studio 15のためのFIPSをオフにするためにファイルを編集することはできないようです。

私はまだ示唆や手がかりに公開されています。

EDIT2:私は(this articleを使用して)ITの助けを借りて、IDEの設定に<enforceFIPSPolicy enabled="false"/>を取得するために管理しています。これは絶対に何もしないようだが、無視されているようだ。

別の問題点/ここでのヒントは、Visual Studioで新しいC#プロジェクトを作成しても、コンパイルしようとすると同じエラーが発生するということです。ですから、私は、Visual StudioがSHA256クラスを "バックグラウンドで"使用していると仮定しなければなりません。私がその使い方を制御できたら、私は以下の@Kevinの答えを実装しようとします。私は今 のMSBuildを実行している別のプロセスでのC#プロジェクトを構築し、その有効性

VS 2012のを確認していないものの

は、私は、Web上の別のpossible solutionを発見しました。このプロセスでは、devenv.exe.config(VS 2010で動作する)に追加したエントリは表示されません。 msbuildの設定ファイルに同じエントリ 、つまり を追加する必要があります。通常は c:\ Windows \ Microsoft.Net \ Framework \ v4.0.30319 \ msbuild.exeにあります。コンフィグ」

私は.NET 4.5+ msbuild.exe.configファイルのための時間を持っているとバック報告するとき、私はこれを成し遂げるためにしようとします。

+0

Visual Studio 2015またはVS15を意味しますか?彼らは別の製品です。 VS15は現時点でプレビューとしてのみ利用可能です。私は*あなたがVisual Studio 2015を意味すると思う... –

+2

VS 2012以降、ソリューションとプロジェクトファイルは下位互換性があるので、それを "アップグレード"する必要はありません。保存時にファイルを変更してメタデータを追加することもできますが、一般的には完全に互換性があります。 –

+0

オハイオ州、私は違いがあったことを認識したことはありません。はい "VS15"、ムーブオーバー "VS"は "Visual Studio"と読み替える必要があります – KDecker

答えて

1

私が行った解決策はoutline hereです。私は実際にそれ仕事作られたものが最初のファイルだったと思うけど

<enforceFIPSPolicy enabled="false"/>、すなわち

C:\Program Files (x86)\MSBuild\12.0\Bin\msbuild.exe.config 
C:\Windows\Microsoft.Net\Framework\v4.0.30319\msbuild.exe.config 
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Devenv.exe.config 

、いくつかのファイルに追加されました。

-1

あなたはエラーをダブルクリックし、それがどこに行くことはできませんFIPS準拠ビットが設定されている場合、非FIPS準拠の.NET暗号化クラスでこのエラーが発生します。

これを修正する方法は2つあります。

まず、マシンのFIPS準拠ビットをオフにするだけでアプリを実行しようとしています(お勧めしません)。

それ以外の場合は、FIPS対応バージョンのSHA256(SHA256CryptoServiceProvider)を使用するようにコードを更新できます。これには.NET Framework 3.5以上が必要です。

+0

私があなたが提供する2番目のソリューションについては混乱しています。問題のマシンには.NET 4.6.1がインストールされており、プロジェクト自体は.NET 4.5をターゲットとしています。 .NET 3.5以上を使っていると思います。 //最初の解決策としては、Visual Studioに問題を無視するように指示することです(このSOの回答に概説されているとおりです)。http://stackoverflow.com/questions/5034526/how-do-you-use-fips-validated-cryptographic -algorithms-with-visual-studio-2010-a/5034993#5034993)、またはマシン全体のFIPS準拠を文字通りオフにすることができます(これはわかりません)。 – KDecker

+0

最初の解決策は、最初にエラーを発生させないようにOSに指示します(FIPS準拠としてNIST認定されたアルゴリズムを使用しない暗号化クラスの実行を許可しています)。これはお勧めしません。2番目の解決策は、SHA256クラス(NISTがFIPSに準拠しているとは認定されていない)の使用を中止し、NIST認定のFIPS準拠のSHA256CryptoServiceProviderクラスを使用するように指示しています。私がフレームワーク3.5を述べたのは、FIPS準拠のクラスが.NET Frameworkで利用可能になったときです。 – Kevin

+0

副作用として、SHA256CryptoServiceProviderクラス自体は認定されていません。Windows CryptoAPIへのラッパーであり、Windows OS上で利用できる唯一のNIST認定FIPS 140-2準拠の暗号化アルゴリズムのセットです。 – Kevin

関連する問題