4

我已經更新了我的VS2017到最新的15.3.0並安裝了.NET Core SDK 2.0(我想將現有的.NET 1.1應用程序升級到2.0 )。.NET核心1.1 - 獲取「重複的內容」項目被包括「

現在,當我打開我的項目,該項目編譯罰款(沒有改變它任何事情),我嘗試編譯,我得到:

Duplicate 'Content' items were included. 
The .NET SDK includes 'Content' items from your project directory by default. 
You can either remove these items from your project file, or set the 'EnableDefaultContentItems' property to 'false' if you want to explicitly include  them in your project file. 
For more information, see https://aka.ms/sdkimplicititems. The duplicate items were: 'wwwroot\index.html' 

在有問題的文件,它指向C:\Program Files\dotnet\sdk\2.0.0\Sdks\Microsoft.NET.Sdk\build\Microsoft.NET.Sdk.DefaultItems.targets

我在線閱讀,我可以通過將<EnableDefaultContentItems>false</EnableDefaultContentItems>添加到我的.csproj文件中來解決此問題。但之前並不存在,我不確定添加這條線意味着什麼。

曾經令我困擾的事情是它指向的源文件位於dotnet\sdk\2.0.0 - 正如我所提到的那樣,該項目仍然是.NET Core 1.1。到目前爲止,我所做的只是安裝VS2017和2.0 SDK的更新。

我該如何解決這個問題?我希望我的原始項目在我升級到2.0之前編譯。

編輯

csproj文件:

<Project Sdk="Microsoft.NET.Sdk.Web"> 

    <PropertyGroup> 
    <TargetFramework>netcoreapp1.1</TargetFramework> 
    </PropertyGroup> 

    <ItemGroup> 
    <Content Include="wwwroot\index.html" /> 
    </ItemGroup> 
    <ItemGroup> 
    <PackageReference Include="IdentityServer4" Version="1.5.2" /> 
    <PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.0.1" /> 
    <PackageReference Include="Microsoft.AspNetCore" Version="1.1.2" /> 
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.2" /> 
    <PackageReference Include="NLog.Web.AspNetCore" Version="4.4.1" /> 
    </ItemGroup> 
    <ItemGroup> 
    <Content Update="appsettings.json"> 
     <CopyToOutputDirectory>Always</CopyToOutputDirectory> 
    </Content> 
    <Content Update="web.config"> 
     <CopyToOutputDirectory>Always</CopyToOutputDirectory> 
    </Content> 
    </ItemGroup> 
    <ItemGroup> 
    <None Update="NLog.config"> 
     <CopyToOutputDirectory>Always</CopyToOutputDirectory> 
    </None> 
    </ItemGroup> 

</Project> 

好像我添加<EnableDefaultContentItems>false</EnableDefaultContentItems>PropertyGroup它的工作原理提及。但我不知道這個是什麼意思,或者爲什麼需要它的突然...

+1

這是您的csproj文件中的問題,您需要分享它以便我們能夠幫助您。 –

+0

@MartinUllrich編輯了我的問題 – developer82

回答

5

刪除含有

<Content Include="wwwroot\index.html" /> 

此產品的<ItemGroup>元素已經包含在Microsoft.NET.Sdk.Web,因此定義兩次。

0

Necromancing。
或者,請執行下列操作:

  1. 在解決方案資源管理器中點擊「顯示所有文件」
  2. 右鍵單擊在「wwwroot的」選擇「從項目中排除」
  3. 右鍵單擊在「wwwroot的」選擇「包含in Project'

錯誤消失。
比手工編輯安全得多。

相關問題