4

I can't get this C# solution (click to download - 666MB or browse on GitHub here) to compile:

The error I'm getting is

This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is ..\packages\Accord.3.8.0\build\Accord.targets. bootcamp_basecamera C:\Users\MyUser\Desktop\ComputerVision_Bootcamp-master\bootcamp_basecamera\bootcamp_basecamera\bootcamp_basecamera.csproj 144

The line in question in boot_camp_basecamera.csproj is:

<Error Condition="!Exists('..\packages\Accord.3.8.0\build\Accord.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Accord.3.8.0\build\Accord.targets'))" />

I've gone through each and every NuGet question / solution here on StackOverflow, but none of the answers worked for me.

I tried package restore, I un-installed all NuGet packages manually and installed them again.

This didn't make the error messages go away.

I would therefore like to ask where exactely this error message originates from. It says "This project references...". I've even deleted the package.config files, and I'm still seeing this error.

Therefore I would like to ask where exactely this reference is stored, since it can't be packages.config (because I deleted them).

Thank you.

Per request, here is the contents of the .csproj file in question:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="..\packages\OpenCvSharp3-AnyCPU.3.3.1.20171117\build\OpenCvSharp3-AnyCPU.props" Condition="Exists('..\packages\OpenCvSharp3-AnyCPU.3.3.1.20171117\build\OpenCvSharp3-AnyCPU.props')" />
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProjectGuid>{10F276C8-F8C8-43FB-90F3-B3F1F0B74A2C}</ProjectGuid>
    <OutputType>WinExe</OutputType>
    <RootNamespace>Bootcamp.CompVis.Webinar</RootNamespace>
    <AssemblyName>webinar</AssemblyName>
    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    <NuGetPackageImportStamp>
    </NuGetPackageImportStamp>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <PlatformTarget>x64</PlatformTarget>
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <PlatformTarget>x86</PlatformTarget>
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
    <DebugSymbols>true</DebugSymbols>
    <OutputPath>bin\x64\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <DebugType>full</DebugType>
    <PlatformTarget>x64</PlatformTarget>
    <ErrorReport>prompt</ErrorReport>
    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
    <Prefer32Bit>true</Prefer32Bit>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
    <OutputPath>bin\x64\Release\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <Optimize>true</Optimize>
    <DebugType>pdbonly</DebugType>
    <PlatformTarget>x64</PlatformTarget>
    <ErrorReport>prompt</ErrorReport>
    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
    <Prefer32Bit>true</Prefer32Bit>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="Accord, Version=3.8.2.0, Culture=neutral, PublicKeyToken=fa1a88e29555ccf7, processorArchitecture=MSIL">
      <HintPath>..\packages\Accord.3.8.2-alpha\lib\net46\Accord.dll</HintPath>
    </Reference>
    <Reference Include="Accord.Controls.Imaging, Version=3.8.2.0, Culture=neutral, PublicKeyToken=fa1a88e29555ccf7, processorArchitecture=MSIL">
      <HintPath>..\packages\Accord.Controls.Imaging.3.8.2-alpha\lib\net46\Accord.Controls.Imaging.dll</HintPath>
    </Reference>
    <Reference Include="Accord.Imaging, Version=3.8.2.0, Culture=neutral, PublicKeyToken=fa1a88e29555ccf7, processorArchitecture=MSIL">
      <HintPath>..\packages\Accord.Imaging.3.8.2-alpha\lib\net46\Accord.Imaging.dll</HintPath>
    </Reference>
    <Reference Include="Accord.MachineLearning, Version=3.8.2.0, Culture=neutral, PublicKeyToken=fa1a88e29555ccf7, processorArchitecture=MSIL">
      <HintPath>..\packages\Accord.MachineLearning.3.8.2-alpha\lib\net46\Accord.MachineLearning.dll</HintPath>
    </Reference>
    <Reference Include="Accord.Math, Version=3.8.2.0, Culture=neutral, PublicKeyToken=fa1a88e29555ccf7, processorArchitecture=MSIL">
      <HintPath>..\packages\Accord.Math.3.8.2-alpha\lib\net46\Accord.Math.dll</HintPath>
    </Reference>
    <Reference Include="Accord.Math.Core, Version=3.8.2.0, Culture=neutral, PublicKeyToken=fa1a88e29555ccf7, processorArchitecture=MSIL">
      <HintPath>..\packages\Accord.Math.3.8.2-alpha\lib\net46\Accord.Math.Core.dll</HintPath>
    </Reference>
    <Reference Include="Accord.Statistics, Version=3.8.2.0, Culture=neutral, PublicKeyToken=fa1a88e29555ccf7, processorArchitecture=MSIL">
      <HintPath>..\packages\Accord.Statistics.3.8.2-alpha\lib\net46\Accord.Statistics.dll</HintPath>
    </Reference>
    <Reference Include="Accord.Video, Version=3.8.2.0, Culture=neutral, PublicKeyToken=fa1a88e29555ccf7, processorArchitecture=MSIL">
      <HintPath>..\packages\Accord.Video.3.8.2-alpha\lib\net46\Accord.Video.dll</HintPath>
    </Reference>
    <Reference Include="Accord.Video.DirectShow, Version=3.8.2.0, Culture=neutral, PublicKeyToken=fa1a88e29555ccf7, processorArchitecture=MSIL">
      <HintPath>..\packages\Accord.Video.DirectShow.3.8.2-alpha\lib\net46\Accord.Video.DirectShow.dll</HintPath>
    </Reference>
    <Reference Include="Accord.Vision, Version=3.8.2.0, Culture=neutral, PublicKeyToken=fa1a88e29555ccf7, processorArchitecture=MSIL">
      <HintPath>..\packages\Accord.Vision.3.8.2-alpha\lib\net46\Accord.Vision.dll</HintPath>
    </Reference>
    <Reference Include="DlibDotNet, Version=1.0.0.0, Culture=neutral, processorArchitecture=AMD64">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>dlib\DlibDotNet.dll</HintPath>
    </Reference>
    <Reference Include="DlibDotNet.Extensions, Version=1.0.0.0, Culture=neutral, processorArchitecture=AMD64">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>dlib\DlibDotNet.Extensions.dll</HintPath>
    </Reference>
    <Reference Include="OpenCvSharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6adad1e807fea099, processorArchitecture=MSIL">
      <HintPath>..\packages\OpenCvSharp3-AnyCPU.3.3.1.20171117\lib\net46\OpenCvSharp.dll</HintPath>
    </Reference>
    <Reference Include="OpenCvSharp.Blob, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6adad1e807fea099, processorArchitecture=MSIL">
      <HintPath>..\packages\OpenCvSharp3-AnyCPU.3.3.1.20171117\lib\net46\OpenCvSharp.Blob.dll</HintPath>
    </Reference>
    <Reference Include="OpenCvSharp.Extensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6adad1e807fea099, processorArchitecture=MSIL">
      <HintPath>..\packages\OpenCvSharp3-AnyCPU.3.3.1.20171117\lib\net46\OpenCvSharp.Extensions.dll</HintPath>
    </Reference>
    <Reference Include="OpenCvSharp.UserInterface, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6adad1e807fea099, processorArchitecture=MSIL">
      <HintPath>..\packages\OpenCvSharp3-AnyCPU.3.3.1.20171117\lib\net46\OpenCvSharp.UserInterface.dll</HintPath>
    </Reference>
    <Reference Include="PresentationCore" />
    <Reference Include="System" />
    <Reference Include="System.Core" />
    <Reference Include="System.Xml.Linq" />
    <Reference Include="System.Data.DataSetExtensions" />
    <Reference Include="Microsoft.CSharp" />
    <Reference Include="System.Data" />
    <Reference Include="System.Deployment" />
    <Reference Include="System.Drawing" />
    <Reference Include="System.Net.Http" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.Xml" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="MainForm.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Include="MainForm.Designer.cs">
      <DependentUpon>MainForm.cs</DependentUpon>
    </Compile>
    <Compile Include="Program.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
    <Compile Include="Utility.cs" />
    <EmbeddedResource Include="MainForm.resx">
      <DependentUpon>MainForm.cs</DependentUpon>
    </EmbeddedResource>
    <EmbeddedResource Include="Properties\Resources.resx">
      <Generator>ResXFileCodeGenerator</Generator>
      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
      <SubType>Designer</SubType>
    </EmbeddedResource>
    <Compile Include="Properties\Resources.Designer.cs">
      <AutoGen>True</AutoGen>
      <DependentUpon>Resources.resx</DependentUpon>
      <DesignTime>True</DesignTime>
    </Compile>
    <None Include="shape_predictor_68_face_landmarks.dat">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    <None Include="packages.config" />
    <None Include="Properties\Settings.settings">
      <Generator>SettingsSingleFileGenerator</Generator>
      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
    </None>
    <Compile Include="Properties\Settings.Designer.cs">
      <AutoGen>True</AutoGen>
      <DependentUpon>Settings.settings</DependentUpon>
      <DesignTimeSharedInput>True</DesignTimeSharedInput>
    </Compile>
  </ItemGroup>
  <ItemGroup>
    <None Include="App.config">
      <SubType>Designer</SubType>
    </None>
  </ItemGroup>
  <ItemGroup>
    <Content Include="swap.jpg">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
    <None Include="dlib\DlibDotNet.dll" />
    <None Include="dlib\DlibDotNet.Extensions.dll" />
    <Content Include="DlibDotNet.Native.dll">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </Content>
    <Content Include="input.jpg">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </Content>
  </ItemGroup>
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
  <Import Project="..\packages\Accord.3.8.2-alpha\build\Accord.targets" Condition="Exists('..\packages\Accord.3.8.2-alpha\build\Accord.targets')" />
  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
    <PropertyGroup>
      <ErrorText>This project references NuGet package(s) that are missing on this computer. Use 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('..\packages\Accord.3.8.2-alpha\build\Accord.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Accord.3.8.2-alpha\build\Accord.targets'))" />
    <Error Condition="!Exists('..\packages\OpenCvSharp3-AnyCPU.3.3.1.20171117\build\OpenCvSharp3-AnyCPU.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\OpenCvSharp3-AnyCPU.3.3.1.20171117\build\OpenCvSharp3-AnyCPU.props'))" />
  </Target>
</Project>
trailmax
  • 31,605
  • 20
  • 126
  • 225
tmighty
  • 8,222
  • 19
  • 78
  • 182
  • 2
    did you try the steps provided in the link within the error message? – Phiter Sep 04 '18 at 12:08
  • 1
    According to the error, it seems to be the 144th line in the csproj file. Do you mind checking that? – Nisarg Sep 04 '18 at 12:08
  • Well, not 7000 but all that fitted, in fact around 6 hours. Is that enough? – tmighty Sep 04 '18 at 12:10
  • 1
    Why did you delete the packages.config? – Esko Sep 04 '18 at 12:10
  • You want a "package restore" : https://docs.microsoft.com/en-us/nuget/consume-packages/package-restore – Fildor Sep 04 '18 at 12:10
  • I did a package restore. – tmighty Sep 04 '18 at 12:10
  • And did you get errors during that? Did you restore before or after deleting package.config? – Fildor Sep 04 '18 at 12:11
  • The error messages never went away. It always showed the same error message. – tmighty Sep 04 '18 at 12:12
  • @Fildor I tried just ANYTHING. I always deleted the unzipped file and started from scratch. – tmighty Sep 04 '18 at 12:12
  • Close your IDE. Delete the complete Solution Folder and check out again. Then open in VS and build. VS should auto-restore the packages. – Fildor Sep 04 '18 at 12:14
  • @NisargShah I have edited my post and added the line in question. – tmighty Sep 04 '18 at 12:15
  • @Liam Yes, I have unzipped that GitHub folder again and started from scratch. The above problem remains. As I said, I've tried just anything already. There seems to be something special about this project / solution. – tmighty Sep 04 '18 at 12:20
  • I suspect a bug in VS, and I'm too new to NuGet to explain exactely everything I did. As I said, I've tried really many suggested solutions I found on StackOverflow, but since none of them helped, I guess it's something akward. I was hoping that somebody would perhaps try it for himself. – tmighty Sep 04 '18 at 12:25
  • @ershoaib I have added it, but I have not yet figured out how to format it properly. – tmighty Sep 04 '18 at 12:29
  • @ershoaib Then VS tells me "There's no target to build." – tmighty Sep 04 '18 at 12:40

2 Answers2

7

The problem is that the directory structure is

  • bootcamp_complete.sln
  • bootcamp_basecamera/
    • bootcamp_basecamera.sln
    • bootcamp_basecamera/
      • bootcamp_basecamera.csproj

i.e. the .csproj is two levels deep, and there are two .slns. The HintPaths in the .csproj are only ..\package, i.e. they're set up for packages restored by bootcamp_basecamera.sln, not bootcamp_complete.sln.

So I think your options are

  1. open each subproject's own .sln and restore packages there - lots of duplication of the downloaded files, but this may be easier if you only need to work with them individually and they don't depend on each other
  2. modify the .csprojs to set the hintpath to be ..\..\package not ..\package
  3. change the folder structure: remove the intermediate folder with its own .sln file, so bootcamp_basecamera.csproj is in only one folder depth from the root, and then update the top level .sln for the paths change
Rup
  • 31,518
  • 9
  • 83
  • 102
1

There are some ways to install missing packages

  • You can delete all files in packages folder at solution directory and you can install all nuget packages again by right click the solution name and clicking "Restore Nuget Packages" item

  • you can simply run Update-Package –reinstall

Liam
  • 22,818
  • 25
  • 93
  • 157
cimey
  • 175
  • 3
  • 9