2017-03-16 1 views
2

포함 된 Nuget 패키지에 내 프로젝트에있는 파일이 포함되어 있으면 프로젝트를로드 할 수 없습니다.VS2017 - 프로젝트로드 실패 - 프로젝트에서 발견 된 중복 된 링크 된 항목

내 Nuget 패키지는 appsettings.json 파일을 포함하고, 내 프로젝트는 또한 appsettings.json 파일을 가지고 있기 때문에, 나는 2017 Visual Studio에서 다음과 같은 오류가 발생합니다 :

(load failed) - Duplicated linked item found in the project: "C:\users\user\.nuget\packages\mypackage\contentFiles\any\netcoreapp1.1\appsettings.json" 

내 프로젝트에서 appSettings는 파일을 제거하면 (안 Nuget 패키지), 프로젝트는 잘로드되지만 프로젝트가 작동하려면 파일이 필요합니다.

nuget 패키지에서 appsettings 파일을 제거하는 것처럼 보이지 않지만이 옵션 만 사용할 수 있습니다. 방법 (dotnet pack를 통해) 포장되는 특정 파일을 제외 : 'dotnet pack은'그래서 질문은 내 csproj 파일이 "CopyToPublishDirectory"

에서 그것을 참조되지 않은 경우에도이 파일을 포함하는 것? 중복 된 링크 된 항목이있는 프로젝트를로드하는 방법은 무엇입니까?

답변

1

나는 그것을 작동시킬 수 있었다.
기본적으로 모든 콘텐츠 파일이 패키지됩니다. 다음과 같이 이를 사용하지 않으려면 나는 csproj 파일을 편집 :

<PropertyGroup> 
    <EnableDefaultContentItems>false</EnableDefaultContentItems> 
</PropertyGroup> 

<ItemGroup> 
    <Content Include="appsettings.*"> 
     <Pack>false</Pack> 
    </Content> 
<ItemGroup> 
3

내 셋업은 당신과 다른,하지만 난 솔루션에 기존 프로젝트를 추가하려고 유사한 오류 메시지를 받았습니다. 나는 몇 가지를 시도, 그래서 정확히 도움이 확실하지가 결국 그것을 해결하지만, 여기에 내가 무슨 짓을했는지 :

  • 는 청소 프로젝트가 binobj 폴더
  • 을 삭제하여 위치한 폴더는
  • 는 것으로 나타났습니다 csproj 파일을로드하지 못했습니다. PropertyGroupItem 개의 노드가 사용되지 않았거나 비어 있거나 더 이상 디스크에없는 폴더를 가리키고 있으므로 이러한 노드를 제거했습니다.

그런 다음 프로젝트를 제거하고 솔루션에 다시 추가하면 성공적으로로드됩니다.

+3

bin 및 obj를 삭제하면 도움이되었습니다. – LexieHankins

+0

그것은 나를 도왔지만 일시적으로 만 도움이되었습니다. – user3685285

+0

@ user3685285 [이 중 하나] (http://stackoverflow.com/a/43483342/182371)도 마찬가지입니다. –

1

이것은 두 프로젝트 사이에 공유 참조가있는 다른 프로젝트를 참조하는 프로젝트에서 발생하는 것으로 보입니다. 예를 들어

:

Parent project [references package/dll X] 
| 
*-> Child, failing project [also explicitly references package/dll X] 

실패한 프로젝트에서 X 참조를 제거 내 경우는 문제를 해결할 수있었습니다.