2017-09-27 7 views
0

Visual Studio 2017 v15.3Core 2.0 SDKに更新しました。私はIgans Sakalauskas' Net Core Knockout projectで働いているVisual Studio 2017 v15.3はnlog.configをコピーしません

、それはVS 2017でCore 1.1

https://ignas.me/tech/net-core-knockoutjs-web-application/

で構築された私は、真のデフォルトにEnableDefaultContentItemsを離れ、.csprojからContent Include文を削除しましたファイルをWebApplication1.Webプロジェクトに追加します

彼はnlogを使用しており、プロジェクトのルートにはnlog.configがあります。プロジェクトは正常に構築されますが、実行されたときfile not found errorがスローされます。 WebApplication1.Web\bin\Debug\netcoreapp1.1フォルダのnlog.configを探しています。ファイルを手動でコピーすると、プロジェクトが実行され、すべてのテストが合格します。

私が働くことができないのは、プロジェクトがビルドするときにVSがnlog.configをコピーすることです。

私は.csproj

<ItemGroup> 
    <Content Include="nlog.*" /> 
    </ItemGroup> 

を追加した場合、私はDuplicate 'Content' items ... The duplicate items were: 'nlog.config'エラーを取得します。 https://aka.ms/sdkimplicititems

私はContnet Includeをコメントアウトし、偽

<PropertyGroup> 
    <EnableDefaultCompileItems>false</EnableDefaultCompileItems> 
</PropertyGroup> 

EnableDefaultContentItemsを設定した場合、私はその後、 `コンテンツInculde」ステートメントを復元した場合、私はそれがこのエラーを与える Suppression State Error CS5001 Program does not contain a static 'Main' method suitable for an entry point

を得る:

Duplicate 'Content' items ... The duplicate items were: 'list of files'エラー

Default Content Itemsは、サブフォルダwwwroot.js.csのファイルを処理しています。

Content IncludeのアイテムでVSがDuplicate Contentエラーをスローした場合、Content Includeのファイルがコピーされないのはなぜですか?

VS 2017 15.3ファイルnlog.configをプロジェクトのルートからbinサブディレクトリにコピーする方法を設定しますか?

答えて

2

これは重複するコンテンツアイテムとは関係ありません。

Visual Studio 2017でrecommended approach to handling duplicate content errorsに戻します。これは、あなたが使用を開始するものである:

I've left EnableDefaultContentItems to the default of true and removed the Content Include statements from the .csproj file in the WebApplication1.Web project.

今すぐあなたの.csprojファイルにこれを追加します。

<ItemGroup> 
    <Content Update="nlog.config"> 
    <CopyToOutputDirectory>Always</CopyToOutputDirectory> 
    </Content> 
</ItemGroup> 

これは、コピーするために、既存のコンテンツルール(自動的に生成されたもの)を更新するためのVisual Studioに指示しますビルド時の出力ディレクトリにファイルをコピーします。

+0

こんにちはダニエル。私はちょうどVS 'nlog.config'でハイライトし、' .csproj'にあなたの答えを書いているPropertiesで 'Output Directoryにコピー 'ステータスを変更するという私の答えを投稿しようとしていました。しかし、あなたは私にそれを打つので投票を受けることができます。 'EnableDefaultContentItems'をfalseに設定してもうまくいかない理由の2次的な質問にはまだ答えません。あなたはそれについて何か考えていますか?私に知らせてください。わからない場合は別の質問を投稿することを知っています。 – Joe

+0

@Joe最も可能性の高い問題は、「EnableDefaultCompileItems」が適切な場所になく、適用されていないか、コンテンツに問題があります。コンテンツのincludeを削除して 'EnableDefaultCompileItems'を削除するだけで問題を回避するのが最も簡単ですが、これはうまくいきましたし、' EnableDefaultCompileItems'の必要性を見いだせませんでした。 –

関連する問題