2015-11-13 82 views
36

從今天起,屬於溶液與20個項目一個WPF項目,我所有的引用設定爲缺失的Visual Studio 2015年項目丟失了所有引用

enter image description here

我剛剛檢查了MS和建議在Stackoverflow的其他答案,但沒有工作......我試圖從SVN重新得到解決方案,沒有運氣,其他同事沒有得到這個問題。 我也嘗試刪除並重新添加引用(例如System.Xml)。 但沒辦法讓它工作...

任何建議? 感謝

更新#1

這裏的的csproj

<ItemGroup> 
<Reference Include="Catel.Core, Version=4.2.0.0, Culture=neutral, processorArchitecture=MSIL"> 
    <HintPath>..\packages\Catel.Core.4.2.0\lib\net40\Catel.Core.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="Catel.Extensions.Controls, Version=4.2.0.0, Culture=neutral, processorArchitecture=MSIL"> 
    <HintPath>..\packages\Catel.Extensions.Controls.4.2.0\lib\net40\Catel.Extensions.Controls.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="Catel.Extensions.FluentValidation, Version=4.2.0.0, Culture=neutral, processorArchitecture=MSIL"> 
    <HintPath>..\packages\Catel.Extensions.FluentValidation.4.2.0\lib\net40\Catel.Extensions.FluentValidation.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="Catel.Fody.Attributes, Version=2.8.0.0, Culture=neutral, PublicKeyToken=1c8163524cbe02e6, processorArchitecture=MSIL"> 
    <HintPath>..\packages\Catel.Fody.2.8.0\lib\portable-net4+sl4+wp7+win8+wpa81+MonoAndroid14+MonoTouch40\Catel.Fody.Attributes.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="Catel.MVVM, Version=4.2.0.0, Culture=neutral, processorArchitecture=MSIL"> 
    <HintPath>..\packages\Catel.MVVM.4.2.0\lib\net40\Catel.MVVM.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="MethodTimer, Version=1.15.7.0, Culture=neutral, PublicKeyToken=cb1364609f40a1dc, processorArchitecture=MSIL"> 
    <HintPath>..\packages\MethodTimer.Fody.1.15.7.0\Lib\portable-net4+sl5+wp8+win8+wpa81+MonoAndroid16+MonoTouch40\MethodTimer.dll</HintPath> 
    <Private>False</Private> 
</Reference> 
<Reference Include="Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> 
    <HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="Microsoft.Threading.Tasks.Extensions, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> 
    <HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="Microsoft.Threading.Tasks.Extensions.Desktop, Version=1.0.168.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> 
    <HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="PresentationCore" /> 
<Reference Include="PresentationFramework" /> 
<Reference Include="ServiceStack"> 
    <HintPath>..\packages\ServiceStack.4.0.46\lib\net40\ServiceStack.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="ServiceStack.Client, Version=4.0.46.0, Culture=neutral, processorArchitecture=MSIL"> 
    <HintPath>..\packages\ServiceStack.Client.4.0.46\lib\net40\ServiceStack.Client.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="ServiceStack.Common"> 
    <HintPath>..\packages\ServiceStack.Common.4.0.46\lib\net40\ServiceStack.Common.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="ServiceStack.Interfaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=e06fbc6124f57c43, processorArchitecture=MSIL"> 
    <HintPath>..\packages\ServiceStack.Interfaces.4.0.46\lib\portable-wp80+sl5+net40+win8+monotouch+monoandroid+xamarin.ios10\ServiceStack.Interfaces.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="ServiceStack.Text, Version=4.0.46.0, Culture=neutral, processorArchitecture=MSIL"> 
    <HintPath>..\packages\ServiceStack.Text.4.0.46\lib\net40\ServiceStack.Text.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="System" /> 
<Reference Include="System.ComponentModel.DataAnnotations" /> 
<Reference Include="System.Configuration" /> 
<Reference Include="System.Core" /> 
<Reference Include="System.IO, Version=2.6.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> 
    <HintPath>..\packages\Microsoft.Bcl.1.1.10\lib\net40\System.IO.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="System.Management" /> 
<Reference Include="System.Net" /> 
<Reference Include="System.Runtime, Version=2.6.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> 
    <HintPath>..\packages\Microsoft.Bcl.1.1.10\lib\net40\System.Runtime.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="System.Threading.Tasks, Version=2.6.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> 
    <HintPath>..\packages\Microsoft.Bcl.1.1.10\lib\net40\System.Threading.Tasks.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="System.Windows.Interactivity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 
    <HintPath>..\packages\Catel.MVVM.4.2.0\lib\net40\System.Windows.Interactivity.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="System.Xaml" /> 
<Reference Include="System.Xml.Linq" /> 
<Reference Include="System.Data.DataSetExtensions" /> 
<Reference Include="Microsoft.CSharp" /> 
<Reference Include="System.Data" /> 
<Reference Include="System.Net.Http" /> 
<Reference Include="System.Xml" /> 
<Reference Include="Telerik.Windows.Controls, Version=2015.2.728.40, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL"> 
    <HintPath>..\packages\Telerik.Windows.Controls.for.Wpf.40.Xaml.2015.2.728\lib\net40\Telerik.Windows.Controls.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="Telerik.Windows.Controls.GridView, Version=2015.2.728.40, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL"> 
    <HintPath>..\packages\Telerik.Windows.Controls.GridView.for.Wpf.40.Xaml.2015.2.728\lib\net40\Telerik.Windows.Controls.GridView.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="Telerik.Windows.Controls.Input, Version=2015.2.728.40, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL"> 
    <HintPath>..\packages\Telerik.Windows.Controls.Input.for.Wpf.40.Xaml.2015.2.728\lib\net40\Telerik.Windows.Controls.Input.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="Telerik.Windows.Controls.Navigation, Version=2015.2.728.40, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL"> 
    <HintPath>..\packages\Telerik.Windows.Controls.Navigation.for.Wpf.40.Xaml.2015.2.728\lib\net40\Telerik.Windows.Controls.Navigation.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="Telerik.Windows.Data, Version=2015.2.728.40, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL"> 
    <HintPath>..\packages\Telerik.Windows.Data.for.Wpf.40.Xaml.2015.2.728\lib\net40\Telerik.Windows.Data.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="UIAutomationProvider" /> 
<Reference Include="UIAutomationTypes" /> 
<Reference Include="WindowsBase" /> 

是的,我用的NuGet,其他的19分相同的組件......什麼也沒有移動

UPDATE#2

因爲我不是能夠繼續我已經從一個同事複製項目,現在它的工作....認爲文件系統出了問題......已經比較瞭解決方案,他們是相同的

+0

您可以粘貼.csproj文件的相關部分嗎? – Szeki

+0

bin和obj文件夾是空的還是丟失?你嘗試過重建嗎?你用Nuget嗎? – Jehof

+0

概率你不能訪問文件夾與你的圖書館,或者因爲他們不存在或你沒有特權,可能有人改變它的路徑,他們不再爲你工作,檢查在哪裏csproj尋找他們,如果你可以在那裏找到它們 – mikus

回答

91

解決此問題的方法是。

每當您將項目導入到VS 2015時,它都會修改您的.csproj。所以,爲了解決它。右鍵單擊。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> 

然後構建您的解決方案,它應該可以工作。

+7

對於任何不知道如何找到用於編輯的.csproj文件的人,您可以右鍵單擊您的項目並選擇「卸載項目」,之後您將能夠編輯' .csproj'文件 –

+4

您也可以導航到您保存項目的目錄並右鍵單擊.csproj並進行編輯。 –

+0

它的工作原理!非常感謝你。 – t98907

3

我有這一次,由一個破碎的.targets導入。檢查是否意外啓用了nuget包恢復(其中包括一個.targets文件),然後刪除.nuget目錄。

+0

你好吉爾特,我已經檢查,但它似乎確定.... – advapi

+0

我有一個類似的問題...更新我的nuget包後奇怪的是所有的參考被恢復 –

+1

@ jan-seins - 你的意思是什麼「更新我的nuget包」?你在VS做什麼? – mmcrae

1

我剛剛在VS2015中體驗了20個項目的解決方案。只有一個項目受到影響,並且丟失了包括標準.NET程序集在內的所有參考。

我可以解決的唯一方法是切換到不同的GIT分支,然後回來,這清理了這個問題,它現在都在工作。

1

我也在VS2015中體驗了這個解決方案中的10個項目。只有一個項目 - 主要的MVC項目 - 受到了影響,並且失去了包括標準.NET程序集在內的所有參考。

問題出在我的web.config中。我評論了一些行,導致無效的xml文件。

1

如果您錯過.targets文件在nuget packages文件夾中可能會發生此錯誤。在我的情況下,它是 packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets

它通常當我加入包git倉庫(普通.gitignore文件被忽略打造無處不在的文件夾)和另一臺計算機上檢出情況。

提示:您可以修改.gitignore文件以包含packages文件夾中的所有文件。將這些行追加到底部:

# Include all files in NuGet packages directory 
!/packages/**/ 
3

在解決方案的根目錄中,刪除/packages/文件夾中的所有內容,然後重新構建。

+1

對我而言,它非常完美。所有軟件包都從TFS下載並打破了我的本地。應用此解決方案後,重建沒有任何問題。謝謝@mmcrae。 –

+0

工作完美 - 10倍! – Zakos

1

我有類似的問題。該解決方案適用於我的解決方案,即彈出解決方案的nuget包管理器並刷新包。

另一個案例涉及丟失的軟件包和解決方案的nuget軟件包管理器顯示需要安裝的更新和依賴項,這是修復程序。

另一種情況與上面指出的完全相同 - 刪除軟件包文件夾修復了它。

手動編輯項目是一個選項,但如果你捅到不應該到的地方,項目可能無法打開。如果可以的話,避免這樣做是我的看法。

0

卸載項目,然後編輯項目

尋找以下並刪除。

此項目引用了此計算機上缺少的NuGet程序包。啓用NuGet軟件包還原以下載它們。有關更多信息,請參閱http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是{0}。