2017-07-25 12 views
0

私は.NETフレームワークプロジェクトのソリューションの中にASP.NET Coreプロジェクト(.NET Framework 4.5.2としてターゲットフレームワークを使用)を構築しています。私はStyleCop.MsBuildを使用するプロジェクトの1つを参照しています。私はdotnet buildを行うときしかし、私は取得しています:ASP.NET Core(.NET Frameworkターゲティング)プロジェクトで古いアセンブリを参照する方法は?

MyProjectは、私が参照しようとしているプロジェクトです
C:\MySolution\nupkgs\StyleCop.MSBuild.4.7.54.0\build\StyleCop.MSBuild.Targets(101,5): error MSB4062: The "StyleCopTask" task could not be loaded from the assembly 
C:\MySolution\nupkgs\StyleCop.MSBuild.4.7.54.0\build\..\tools\StyleCop.dll. Could not load file or assembly 'System.Windows.Forms, Version=2.0.0.0, 
Culture=neutral, PublicKeyToken=b77a5c561934e089'. The system cannot find the file specified. Confirm that the <UsingTask> declaration is correct, that the assembly and all its 
dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask. [ 
C:\MySolution\src\MyProject\MyProject.csproj] 

System.Windows.Formsを依存関係として試してみましたが、バージョンは2.0.0.0ではなく4.0.0.0なので、動作していないようです。

これを構築するには、とにかくSystem.Windows.Formsを参照する必要がありますか?

+0

AFAICTここでの適切な解決策は、.Net Framework/Coreの現代版をサポートするために 'StyleCop.MsBuild'をアップグレードすることです。 – Thebluefish

答えて

1

@lionnnnの回答では、4.7.55のStyleCopはnot yet supported on .NET Coreです。

私が直接私がリンクとしてプロジェクト自体から必要なファイルを含むことにより、この問題を回避することができました:

.csproj:

<Compile Include="..\MyProject\MyFile.cs"> 
     <Link>MyProject\%(FileName)%(Extension)</Link> 
    </Compile> 

これはオーバーさせることなく、私のプロジェクトに必要なファイルをコンパイルすべての依存関係最高の解決策ではありませんが、この回避策は私のニーズにとっては大丈夫です。

1

Nugetパッケージをインストールしようとしましたが、メッセージは.netコアと互換性がないというメッセージでした。

私の推測では、stylecopはまだ.netコアに移植されていないということです。

.net coreと.netは必ずしも互いに互換性がありません。

+0

幸いにも、これは.NET Standard 2.0と.NET Core 2.0で変更される予定です:https://docs.microsoft.com/en-us/dotnet/standard/net-standard –

関連する問題