2014-11-29 2 views
6

Visual Studio 2013에 솔루션/팀 프로젝트가 설정되어 있고 NET Framework 4.0 용 NuGet Microsoft.Bcl 비동기 패키지가 설치되어 있습니다. 오늘 프로젝트를 열면 모든 기본 .NET 시스템 라이브러리 참조를 찾을 수 없으며 옆에 경고 기호가 나타납니다. 프로젝트를 빌드 할 때 '참조 된 구성 요소'System.X '를 찾을 수 없다는 경고가 49 개 있습니다. 또는 '참조 된 구성 요소'Microsoft.X '을 (를) 찾을 수 없습니다. 그러나 솔루션의 다른 프로젝트에 대한 언급은 그대로 유지됩니다.모든 시스템 참조가 누락되었습니다. Visual Studio 2013 NuGet 비동기

중요한 점은 내장 된 버전 제어 시스템을 사용하여 내 코드의 백업을 유지하고 동일한 구성으로 다른 PC에서 액세스하는 것입니다.

사람들이 잠재적으로 문제를 일으키는 것으로 NuGet을 가리키는 것처럼 비슷한 문제가 stackoverflow에 대한 다른 질문을 찾고 있지만 나를 위해 일하는 것 같은 해결책없이. 나는 파일 브라우저와 프레임 워크 탭을 사용하여 참조를 제거하고 다시 추가하는 명백한 해결책을 시도했지만 어느 것도 아직까지는 작동하지 않았다.

처음에는 누락 된 참조 때문에 의심 할 여지없이이 경고가 표시되므로 프로젝트를 컴파일 할 수 없습니다.

오류 31 "EnsureBindingRedirects"작업을 어셈블리 C : \ Users ... \ Visual Studio 2013 \ Projects \ AlgorithmToolsTFVC \ AlgorithmToolsSuite \ AlgorithmTools \ packages \ Microsoft.Bcl.Build.1.0.14 \ tools \ Microsoft.Bcl.Build.Tasks.dll. 파일 또는 어셈블리 'file : /// C : \ Users ... \ Visual Studio 2013 \ Projects \ AlgorithmToolsTFVC \ AlgorithmToolsSuite \ AlgorithmTools \ packages \ Microsoft.Bcl.Build.1.0.14 \ tools \ Microsoft.Bcl을로드 할 수 없습니다. Build.Tasks.dll '또는 해당 종속 항목 중 하나를 선택하십시오. 시스템이 지정된 파일을 찾을 수 없습니다. 선언이 올 바르고 어셈블리와 모든 종속성을 사용할 수 있으며 작업에 Microsoft.Build.Framework.ITask를 구현하는 공용 클래스가 포함되어 있는지 확인합니다. AlgorithmTools

답변

1

솔루션의 모든 NuGet 패키지에 대한 업데이트를 먼저 실행 한 다음 패키지에 포함되거나 무시 된 라이브러리에 대한 참조를 제거하고 다시 추가하여이 문제를 해결할 수있었습니다.

+0

VS에서 얼어 붙은 후 비슷한 문제가 발생하여 죽일 수밖에 없었습니다 .NuGet 패키지를 제거하고 다시 설치했습니다. 그게 p를 해결했습니다. 흠집. –

23

가능한 솔루션 : 당신이 당신의 시스템 참조의 가장 위에 노란색 삼각형 표시되는 경우은 파일의 하단으로 스크롤, (다시 그것을 경우를에 ) 당신의 .csproj 파일을 편집하고 다음 행을 삭제 ... 많은 사람들처럼

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> 
    <PropertyGroup> 
    <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> 
    </PropertyGroup> 
    <Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" /> 
</Target> 

을, 나는 소스 컨트롤의 외부 중앙 .packages 폴더를 사용하고있다. 이것은 당신의 NuGet.Config 파일에 다음 줄을함으로써 수행된다 :이 달성의 단계의

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <config> 
    <add key="repositoryPath" value="..\..\..\.packages" /> 
    </config> 
    <solution> 
    <add key="disableSourceControlIntegration" value="true" /> 
    </solution> 
</configuration> 

하나, 당신의 .nuget 솔루션 (더 이상 유일한 파일을 이전 NuGet.targets 파일을 사용하지 않는 프로젝트 파일을 확인하는 것입니다 폴더는 NuGet.Config이어야합니다.)

NuGet이는 NuGet.targets 파일을 확인해야한다고 생각하고, 그것이 너무 기본 참조 검사 (같은 System.Core, WindowsBasePresentationCore을) 실패,가 아니다.


업데이트 :완전히 솔루션에 .nuget 폴더를 멀리하는 방법에 대한 this 관련 항목/답변을 참조하십시오! AppData의 사용자 프로필 수준에서 설정할 수 있습니다.

+0

'Microsoft.Net.Compilers.1.0.0'과'Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0'은 나에게 문제를 안겨다 주었다. 나는 같은 문제라고 생각한다. 이 옵션을 사용 안 함> 리로디드 프로젝트> 복원 된 nuget 패키지> 언로드 된 프로젝트>이 옵션을 다시 사용하도록 설정> 중첩 수준을 나머지 패키지 (.. \ .. \에서 .. \ .. \ .. \ .. \)와 성공. – WernerCD

+0

순수한 마법. 하나의 솔루션에서 다른 솔루션으로 프로젝트를 붙여 넣을 때 가장 일반적으로 발생하는 문제와 해결 방법 인 것 같습니다. –

0

같은 문제가있었습니다. 이유는 Nuget 패키지의 모든 파일이 갑자기 0 바이트 크기가된다는 것이 었습니다. DLL, nupkg 파일 등을 말합니다.

패키지를 다시 설치하면 효과적입니다.

0

팀 기반 서버에 대한 프로젝트에서 정확히 동일한 문제가있었습니다. "EnsureBindingRedirects"작업을 어셈블리 C : \ Users ... \ Visual Studio ...에서로드 할 수 없다는 오류가 발생했으며 "참조 된 구성 요소 'Microsoft.X"라는 많은 경고가 표시됩니다.

해결 방법은 다음과 같습니다. 매우 간단합니다. 내가 한 일은 내 프로젝트 폴더를 다른 위치로 복사하고 작업 한 것뿐이었습니다.

0

비슷한 문제가있었습니다. 해결책을 찾기 위해 2.5 시간을 낭비한 후에 VS에서 프로젝트를 열어 간단히 해결했습니다. 2013, NuGet 패키지 복원 및 재 구축 가능 즉시 수정되어 이제는 VS 2015에서 잘 작동합니다.

관련 문제