2016-08-29 3 views
0

2つのプロジェクトでソリューションを作成しています。 XUnitプロジェクトを持つクラスライブラリとコンソールアプリケーション。どちらのアプリケーションも.net 451と.netコアフレームワークをターゲットにしています。私はデバッグ時、私は問題を抱えている "net451"シンボルがビジュアルスタジオ2015でロードされていません。ネットコアライブラリマルチターゲットプロジェクト

"netcoreapp1.0" を持っている "net451" のxUnitプロジェクトのために

"netstandard1.3" を持っているライブラリの

デバッグしようとすると、テストエクスプローラを使用してVisual Studio 2015内のユニットテストは、シンボルが読み込まれません。

私には欠けているプロジェクトのセットアップはありますか? Visual Studio 2015の制限事項

私はこのプロジェクトを行っており、.netコアバージョンのみを対象としたテストがうまく機能しています。この問題は、net451ターゲットを導入した後に始まりました。 すべてが正しく構築され、テストも正しく検出されます。

ありがとうございます!

ライブラリプロジェクトからproject.json

"version": "1.0.4", 
"files": { 
    "includeFiles": [ 
    "Content/ReleaseNotes.txt" 
    ], 
    "include": [ 
    "../../README" 
    ] 
}, 
"releaseNotes": "Review ReleaseNotes.txt for details.", 
    "requireLicenseAcceptance": true 
    }, 
"buildOptions": {  
    }, 
    "frameworks": { 
    "net451": { 
     "frameworkAssemblies": { 
     "System.ComponentModel.DataAnnotations": "", 
     "System.Data": "", 
     "System.Drawing": "", 
     "System.Drawing.Design": "", 
     "System.Transactions": "", 
     "System.Configuration": "", 
     "System.Configuration.Install": "", 
     "System.Management": "", 
     "System.Xml": "", 
     "System.Runtime": { 
      "type": "build" 
     } 
     }, 
     "dependencies": { 
     "Google.Protobuf": "3.0.0-beta4" 
     } 
    }, 
    "netstandard1.3": {  
     "buildOptions": { 
     "define": [ "NETCORE10" ], 
     "warningsAsErrors": false,    
     "embed": [ 
      "keywords.txt", 
      "Resources.resx"   
     ], 
     "resource": [ "**/*.resx" ], 
     "compile": { 
      "exclude": [ 
      "Framework/Net451/**/*.*",   
      ], 
      "includeFiles": [ 
      "Resources.Designer.cs"    
      ], 
      "excludeFiles": [ 
      "Properties/VersionInfo.cs",    
      ] 
     } 
     }, 
     "dependencies": { 
     "Microsoft.Extensions.Configuration.Json": "1.0.0", 
     "NETStandard.Library": "1.6.0", 
     "System.Collections.NonGeneric": "4.0.1", 
     "System.ComponentModel": "4.0.1", 
     "System.ComponentModel.Annotations": "4.1.0", 
     "System.ComponentModel.Primitives": "4.1.0", 
     "System.ComponentModel.TypeConverter": "4.1.0", 
     "System.Data.Common": "4.1.0", 
     "System.Data.SqlClient": "4.1.0", 
     "System.Diagnostics.Process": "4.1.0", 
     "System.Diagnostics.TextWriterTraceListener": "4.0.0", 
     "System.IO.Compression": "4.1.0", 
     "System.IO.FileSystem.Primitives": "4.0.1", 
     "System.IO.MemoryMappedFiles": "4.0.0", 
     "System.IO.Pipes": "4.0.0", 
     "System.Linq.Expressions": "4.1.0", 
     "System.Net.NameResolution": "4.0.0", 
     "System.Net.Security": "4.0.0", 
     "System.Net.Sockets": "4.1.0", 
     "System.Reflection": "4.1.0", 
     "System.Reflection.TypeExtensions": "4.1.0", 
     "System.Security.Principal.Windows": "4.0.0", 
     "System.Text.Encoding.CodePages": "4.0.1", 
     "System.Threading.Timer": "4.0.1", 
     "System.Threading.ThreadPool": "4.0.10", 
     "Google.Protobuf": "3.0.0-beta4" 
     } 
    } 
    } 
} 

のxUnitプロジェクトまあ

{ 
    "version": "7.0.4", 
    "description": "MyLibrary", 
    "packOptions": { 
    "requireLicenseAcceptance": true 
    }, 
    "buildOptions": { 
    }, 
    "testRunner": "xunit", 
    "dependencies": { 
    "dotnet-test-xunit": "2.2.0-*", 
    "xunit": "2.2.0-*", 
    "MyLibrary": { 
     "target": "project" 
    } 
    }, 
    "frameworks": { 
    "netcoreapp1.0": { 
     "imports": [ 
     "dnxcore50" 
     ], 
     "dependencies": { 
     "Microsoft.NETCore.App": { 
      "version": "1.0.0-*", 
      "type": "platform" 
     } 
     }, 
     "buildOptions": { 
     "define": [ "NETCORE10" ], 
     "copyToOutput": [ "appsettings.json" ], 
     "compile": { 
      "include": [ "../*.cs" ], 
      "exclude": [ 
      "**/._*", 
      "Framework/Net451/**/*.*" 
      ], 
      "excludeFiles": [   
      "TestDataTable.cs" 
      ] 
     }, 
     "warningsAsErrors": false, 
     "optimize": true  
     } 
    }, 
    "net451": { 
     "frameworkAssemblies": { 
     "System.Collections": { 
      "type": "build" 
     }, 
     "System.Diagnostics.Debug": { 
      "type": "build" 
     }, 
     "System.Linq": { 
      "type": "build" 
     }, 
     "System.Reflection": { 
      "type": "build" 
     }, 
     "System.Reflection.Extensions": { 
      "type": "build" 
     }, 
     "System.Runtime": { 
      "type": "build" 
     }, 
     "System.Runtime.Extensions": { 
      "type": "build" 
     }, 
     "System.Threading.Tasks": { 
      "type": "build" 
     } 
     }, 
     "buildOptions": { 
     "compile": { 
      "exclude": [ 
      "Framework/NetCore10/*.*" 
      ], 
      "excludeFiles": [ 
      "Framework/Net451/PerfMonTests.cs", 
      "Framework/Net451/ReplicationTests.cs" 
      ] 
     } 
     } 
    } 
    } 
} 

答えて

0

からproject.json、これは他の誰かにいくつかの時間を節約願っています。私はxprojプロジェクトの初心者です。新しいproject.jsonファイル内のすべてのオプションについてもまだ学んでいます。私はこれまでのところ好きです。それが、この特定の問題に対する答えです。

プロジェクトのすべての設定に適用されるフレームワークセクションの外側にoptimize = trueがありました。そのため、IDEはデバッグ可能なコードを生成しませんでした。このための良い方法は、project.jsonファイルの設定セクションに、それぞれのケースでビルドをどのように動作させるかを定義することです。 ここに私が追加した構成セクションがあります。

"configurations": { 
"Debug": { 
    "buildOptions": { 
    "define": [ "DEBUG" ], 
    "optimize": false, 
    "preserveCompilationContext": true 
    } 
}, 
"Release": { 
    "buildOptions": { 
    "define": [ "RELEASE" ], 
    "optimize": true, 
    "preserveCompilationContext": true, 
    "xmlDoc": true 
    } 
} 

これだけです。

関連する問題