Пакети NuGet відсутні


297

Я шукав цю проблему, але жодне з рішень не працювало. У мене встановлено Visual Studio Professional 2015, і я використовую TFS. Моя версія NuGet - 3.1.6. Ця проблема виникає лише в моєму проекті C # Web API / MVC.

Я отримую помилку нижче:

Цей проект посилається на пакунки NuGet, які відсутні на цьому комп’ютері. Використовуйте NuGet Package Restore для завантаження. Для отримання додаткової інформації див. Http://go.microsoft.com/fwlink/?LinkID=322105 . Файл відсутній .. \ пакети \ Microsoft.Net.Compilers.1.0.0 \ build \ Microsoft.Net.Compilers.props

  1. У моїх рішеннях немає папки .nuget.
  2. У мене в папці пакетів у рішенні, і коли я її видалюю, здається, що NuGet відновлює залежності, але проект все ще має вказану вище помилку.
  3. Я спробував видалити проект із TFS, і він не виправив його.
  4. Поряд з вищезазначеною помилкою, всі посилання в проекті мають жовті попереджувальні знаки і кажуть, що вони відсутні.
  5. Коли я перевірив Менеджер пакунків NuGet на проект, усе, що «відсутнє», має поряд із собою зелену галочку, включаючи Microsoft.Net.Compilers.
  6. Я спробував додати новий проект Web API / MVC, і він зіткнувся з подібною проблемою, коли більшість посилань, таких як Оуін, "відсутні" жовтим знаком попередження.

голосів за закриття цього питання через низьку кількість низької якості опублікованих відповідей нових користувачів.
ZF007

Відповіді:


265

У мене була така ж помилка (пропав точно такий же пакет) сьогодні. Я також створив проект MVC + Web API.

Це сталося, тому що я перемістив файли додатків (включаючи .csproj) файл в інше місце. Я вручну оновив .sln файл, але всі залежності пакунків тепер (Visual Studio 2015) зберігаються у файлі .csproj.

Редагування .csproj-файлу та виправлення відносного шляху до папки рішення (яка містить папку пакунків) вирішили проблему для мене.


2
Копіювання папки Microsoft.Net.Compilers ... зі старої папки пакетів у нове місце пакетів після переміщення, якщо воно відсутнє, може бути необхідним завершальним кроком.
Джастін Вігналл

2
Я щойно видалив цей ОДИН пакет зі свого комп'ютера, і він працював.
SpoiledTechie.com

1
Я також отримав помилку під час фізичного переміщення проекту в інше місце в рішенні Visual Studio. Жодне з рішень на цій сторінці не працювало, тому я зробив копію проекту (у файловій системі) і повністю видалив усі посилання на оригінальний проект у VS. Потім я відтворив проект і скопіював у нього шматочки та шматочки (із зробленої ним копії). Працьовитий, але це спрацювало.
Ендрю Єнс

2
У мене також виникло те саме питання після переміщення проекту з одного місця в інше. Шлях виправлення пакетів у файлі ".csproj" вирішив проблему.
Нірман

2
@ MiłoszWieczorek Я спробував запустити команду в Console Package Manager, і це не вирішило проблему. Він перезавантажив усі пакунки, але посилання все ще не знайдено.
Франсіско д'Анконія

360

Я вирішив свою проблему, видаливши цей код з .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>

5
Прийнята відповідь не буде працювати, оскільки я посилаюсь на проект у кількох окремих рішеннях. Це було єдине виправлення. Прокоментував це, і це спрацювало як принадність.
Леві Фуллер

31
Я можу помилятися, але я вважаю, що це "забивання мухи молотком". Якщо з будь-якої причини опубліковане місце розташування втрачає будь-який інший необхідний пакунок нута, воно не помилиться , надаючи помилковий позитив (тобто розгортання вдається, але система виходить з ладу). Я не шанувальник, але я не збираюсь його оскаржувати, оскільки є аспекти, які я ще не знаю.
HeyZiko

4
Це теж працювало для мене. Як не дивно, що повідомлення про помилку було зашифровано у самому файлі proj ...
Ryan Peters

7
Підтверджено, що ця проблема все ще існує в VS 2017. Я перемістив проект із візуальної студії 2015 по 2017 рік і отримав це повідомлення про помилку при першому компілюванні в 2017 році. Це виправлено помилку.
Том Макдональд,

2
Навіщо видаляти функціональність, ризикувати порушенням вашого проекту тощо, роблячи це? Як зазначає @HeyZiko, це може призвести до проблем згодом. Я міг би просто зробити те, що помилка зазначає "Увімкнути відновлення пакета". Дивіться мою відповідь десь на цій сторінці ...
Ніко

45

ПОПЕРЕДЖЕННЯ - це оновлення пакетів для всього рішення, а не лише проекту.

Якщо у вас є ще один відсутній пакунок нута, який дає помилку під час створення рішення, використовуйте наступну команду за допомогою консолі Nuget Command з Інструменти> Nuget Package Manager> Package Manager Console. Він перевстановить усі ваші поточні пакети.

Update-Package –reinstall

Оновлення:

Ви можете передати конкретну назву проекту як параметр.

Update-Package –reinstall -ProjectName SampleApp

1
Це працювало для мене. Помилка з'явилася після мене після натискання змін через git на одній системі та перетягування їх на іншу. Можливо, мій .gitignore не налаштований належним чином для пакетів нута.
Патрік Боркович

16
Остерігайтеся ... це оновлення пакетів для всього рішення, а не лише проекту.
SO Користувач

1
Це працювало для мене. NuGet продовжував скаржитися на відсутні пакети, але Visual Studio не вирішує автоматичне рішення. Повністю запуститись було кілька хвилин, але ця команда вирішила мою проблему.
Нік Олександр

8
Ви можете додати параметр -ProjectName, щоб зробити його лише для конкретного проекту, а не для цілого рішення.
Miłosz Wieczorek

2
VS2017 провалився на півдорозі через це, і це все зламало
котиться

19

У мене було таке точне розчарування. Нарешті для мене вдалося видалити всі файли та папки всередині / пакунків і дозволити VS переглядати все наступне збирання.


2
Я зробив правою кнопкою миші рішення і Restore Nuget Packages.
Вітор Канова

1
У мене немає жодного відновлення пакунка Nuget, коли я клацну правою кнопкою миші на рішення .... Я використовую VS 2013 ..
Ziggler

також повинен був переконатися, що він відновиться до потрібного пакету. перевірити .csproj, використовуючи note / Edit * .csproj на місце знаходження папки пакунків
AceMark

15

Тіберіу вірно. Мені довелося редагувати файл .csproj, коли файли були переміщені та викликали цю проблему

 <Import Project="..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />

Я змінив у верхній частині файлу та внизу

<Error Condition="!Exists('..\..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props'))" />
<Error Condition="!Exists('..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />

Зрештою, для мене справою було редагування лише рядка в кінці файлу, але не вгорі
ISAE

15

таким чином вирішив мою помилку: відкрити .csproj файл для оновлення у Visual Studio 2015+ Solution Explorer:

Клацніть правою кнопкою миші назву проекту -> Вивантажити проект

Клацніть правою кнопкою миші назву проекту -> Редагувати .csproj

Видаліть наступні рядки:

<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\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props'))" />
    <Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
    <Error Condition="!Exists('packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props'))" />
    <Error Condition="!Exists('packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
  </Target>

Клацніть правою кнопкою миші назву проекту -> Перезавантажити проект

Нарешті побудуйте своє рішення.


Після виправлення вручну шляхів у csproj я видалив розділ EnsureNuGetPackageBuildImports, і він працював ідеально. спасибі
willyMon

11

Я вирішив цю проблему, видаливши наступний код з .csproj-файлу

<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('..\..\..\Assemblies\NuGet\SpecFlow.Plus.Excel.1.4.2\build\SpecFlow.Plus.Excel.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\Assemblies\NuGet\SpecFlow.Plus.Excel.1.4.2\build\SpecFlow.Plus.Excel.targets'))" />


1
Але чому в першу чергу ці неправильні? Помилка у Visual Studio?
Захисник один

8

Комбінація двох відповідей працювала на мене. Спочатку я змінив файл .csproj, щоб видалити посилання на версію 1.0.0

< Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild" >

  ----Error---

< /Target>

а потім зробив

Update-Package -Reinstall

від і це спрацювало.


6

Для мене проблема полягала в тому, що коли я скопіював рішення в нову папку та відкрив її, у неї відсутня папка Nuget, як показано нижче. Я скопіював цю папку і все працювало. Примітка: ця сама папка була в нашому контролі джерела, але не в цьому проекті рішення, це була одна директорія.

введіть тут опис зображення


6

Просто включіть NuGet Package Restore. Клацніть своє рішення правою кнопкою миші та виберіть "Увімкнути відновлення пакета NuGet".

Клацніть своє рішення правою кнопкою миші та виберіть "Увімкнути відновлення пакета NuGet"

Це створить папку .nuget з файлом NuGet.Config і виправить мою проблему.


Дякую!! Я теж зіткнувся з подібною ситуацією, і "Enable NuGet Package Restore" працював.
Jain Prince

18
Це не стало для мене, воно говорить: "Усі пакети вже встановлені, і відновити нічого немає".
Далібор

5

Я використовую VS2012 і зіткнувся з тією ж помилкою. З файлу .csproj я видалив наступний тег Target і він почав компілювати без помилок.

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
  -- Error messages within Target Tag
</Target>

5

Щоб розгорнути декілька відповідей тут, так, ви можете видалити наступний блок із файлу .csproj:

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">

і це виправляє проблему, проте в моєму випадку я помітив, що у мене є додаткові посилання на .NET.Compilers та .CodeDom.Providers з різними версіями:

<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.1.0.0
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\

<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.2.0.1
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.3\

Коли мої пакети.config посилаються лише на таке:

<package id="Microsoft.Net.Compilers" version="2.0.1"
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.3"

Видалення елементів 1.0.0 з файлу .csproj виправило проблему.


2

Для всіх, хто натрапляє на цю проблему, яку у мене виникли (деякі, але не всі пакунки відновлюються на сервері збірки), останньою частиною головоломки для мене було додавання NuGet.config у корені мого рішення, побратимів до .SLN файл, як пояснив тут Девід Еббо: http://blog.davidebbo.com/2014/01/the-right-way-to-restore-nuget-packages.html .

З публікації блогу Ebbo вміст файлу для мене просто

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
  </packageSources>
</configuration>

ОНОВЛЕННЯ:

URL-адреса NuGet API змінена для v3 (чинний станом на вересень 2016 року). З https://www.nuget.org/

<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />

1

Повідомлення про помилку є абсолютно правильним. Я спробував усі хитрощі, і жоден не спрацював. Проект (простий тест веб-додатків MVC) перемістився із спільноти Windows 8.1 VS 2015 до мого нового тестового вікна в ОС Windows 10. Усі останні оновлення до VS 2015 застосовані. Я не міг навіть встановити нову більш нову версію пакета компіляторів.

Loop:
<LOOP>This seems to be a Ground Hog Day phenomena.</LOOP>
GoTo Loop

Нарешті я просто скопіював Microsoft.Net.Compilers.1.0.0 зі старого проекту в новий і він спрацював. Потім я міг почати оновлювати інші пакети до новішої версії. Схоже, помилка процесу оновлення проекту для мене.

ПРИМІТКА . Оригінальний проект був створений у VS 2015 та не має застарілих логічних методологій.


1

Рішення, яке працює в моєму випадку - Visual Studio 2015 Enterprice, проект .NET 4.6.1

  1. Оновіть до оновлення 3
  2. Встановіть інструменти для веб-розробників

Майстер встановлення візуальної студії


1

Для мене пакунки знаходилися там під правильним шляхом, але папки збирання всередині папки не були. Я просто видалив усі пакунки, про які було сказано, відсутні та переробили рішення, і він успішно створив папки збірки та файли .props. Тож повідомлення про помилки були правильними, повідомляючи мені, що щось було пропущено.


1

У мене виникла ця проблема як збій у збірці в Azure, коли він розгорнувся з Git.

Виявляється, мій .gitignore виключив buildпапку з ..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props.

Після того, як buildпапка (сила) була передана Git, проблема була вирішена.


1

Я вирішив те саме питання, виконавши наступні кроки

  1. Видалений пакет <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="2.0.1" targetFramework="net46" />із файлу package.config.
  2. Відредагуйте файл проекту .csproj і видаліть наведені нижче налаштування. <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\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />   </Target>

    1. Перейдіть до консолі менеджера пакунків та запустіть команду Update-Package –reinstall

Точки №2 та 3 надали інші користувачі, і я ціную цих користувачів. Пункт №1, вилученняMicrosoft.CodeDom.Providers.DotNetCompilerPlatform файлу package.config важливіше. Також після запуску команди, зазначеної у пункті №3, проблема вирішена. Видалено всі небажані пакети та оновлено посилання на пакет.

Сподіваюся, що це комусь допоможе.


0

Я не зміг знайти жодного рішення для цього, тому я додав копію nuget.exe та скрипт powershell до кореневого каталогу рішення під назвою prebuild.ps1 із наступним вмістом.

$nugetexe = 'nuget.exe'
$args = 'restore SOLUTION_NAME_HERE.sln'
Start-Process $nugetexe -ArgumentList $args

Я назвав цей скрипт повноважень у своїй збірці на шляху сценарію перед побудовою введіть тут опис зображення


0

Моя спрацювала, коли я скопіював папку пакунків разом із файлом рішення та папкою проекту. Я просто не копіював папку пакунків з попереднього місця.


0

Ви також можете використовувати запропоноване повідомлення про помилку як підказку. Ось як, знайдіть Manage Packages for Solution та натисніть на вирішення відсутнього пакунка нута.

Це воно


0

Прокоментуйте варіант компілятора в WebConfig:

<!--<system.codedom>
<compilers>
  <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
  <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
</compilers>
</system.codedom>-->

Оновіть останню версію пакунків у файлі Config Config

  <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.4" targetFramework="net452" />

Перебудуйте, якщо все гаразд, не потрібно продовжувати, інше Клацніть правою кнопкою миші проект, натисніть «Розвантажити проект» Ще раз правою кнопкою миші і відредагуйте файл .csproj

Перевірте шлях Codedom, він не мав net45 у попередніх контурах, додайте це вручну, збережіть, завантажте, відновіть. Це має працювати.

<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.4\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.4\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />

0

Оскільки багато запропонованих видалити <Target>тег, можуть зробити його компільованим. Тим не менш, остерігайся, що це має побічний ефект, коли ти робиш це для тестових проектів.

MSTest.TestAdapterПід час компіляції я отримав помилку, пов’язану з пакунком nuget. Вирішили цю проблему, видаливши <Target>тег. Хоча побудова була успішною, методи випробувань стали неможливими. Тест-дослідник не відображатиме списки методів тестування в цьому проекті, і запустити тест або тест налагодження також не працюватиме.

Я зіткнувся з цим під час використання, Visual Studio 2017і .Net framework 4.7це може дуже добре трапитися в інших версіях


1
У мене саме така проблема з використанням VS2017, .Net4.7 та проекту тестування одиниць. Цей проект додається до кількох рішень. Автоматичне відновлення працює, але не в тому місці. Замініть $(SolutionDir)роботою, але оновіть файли. Я запитав це тут . Ви знайшли якесь рішення?
Себастьян Шуман

0

Проблема для мене полягала в тому, що NuGet не міг автоматично отримати / оновити пакунки, оскільки повний шлях до файлу був би занадто великим. Виправлено переміщенням мого рішення до папки в моїх документах замість глибоко вкладеної папки .

Потім можна клацнути правою кнопкою миші рішення та вибрати "Відновити пакети NuGet" (що, мабуть, не потрібно, якщо ви просто побудуєте його та дозволите це зробити для вас), а потім виберіть "Керувати пакетами NuGet для вирішення", щоб отримати всі пакети оновлено до останньої версії.

Це було розроблено для рішення зразка програми ASP MVC, завантаженої з веб-сайту Microsoft.


0

Для інженерів DevOps / build ви, ймовірно, можете виправити це запущене по nuget restoreвідношенню до ураженої SLN або проекту, якщо вам не вистачає SLN. Я повинен зробити це для наших CI / CD збірок для всіх наших проектів UWP.

  1. Переконайтесь, що нота встановлена ​​на підлеглому збірки або в Visual Studio, або в автономному режимі. Якщо це останнє, переконайтеся, що він знаходиться в PATH, і пропустіть крок 2.
  2. Або відкрийте консоль VS Dev CMD, або завантажте її через вже відкриту, що можна зробити за допомогою наведених нижче інструкцій:
    VS2015 call "%VS140COMNTOOLS%VsDevCmd.bat"
    або
    VS2017call "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Enterprise\Common7\Tools\VsDevCmd.bat"
  3. call nuget restore MyStuff.SLNабо call nuget restore MyStuff.csprojякщо немає SLN.

0

Не впевнений, чи допоможе це комусь, але у мене виникла ця проблема, коли я видалив вихідний код із своєї локальної машини, не зберігаючи ніколи файл рішення в TFS. (Під час початкової розробки я клацав правою кнопкою миші та перевіряв проект у Solution Explorer, але забув коли-небудь перевірити саме рішення.) Коли мені потрібно було ще раз попрацювати над цим, все, що у мене було в TFS, - це файл .csproj, файл .sln. Так у VS я зробив файл -> управління джерелами -> розширений - відкрити з сервера та відкрив файл .csproj. Звідти я зробив Save All, і він запитав мене, де я хочу зберегти .sln файл. Я зберігав цей .sln файл у каталозі проектів разом з іншими папками (App_Data, App_Start тощо), а не в каталозі верхнього рівня. Нарешті я зрозумів, що мені потрібно зберегти файл .sln до каталогу з папки проекту, щоб це було ' s на тому ж рівні, що і папка проекту. Всі мої шляхи вирішені, і я зміг побудувати його заново.


0

Для мене мій файл gitignore ігнорував папку моїх пакунків. Наступний рядок gitignore викликав проблему -

**/packages/*

Видалено, і він відновив папку моїх пакунків. Сподіваюсь, це допомагає комусь іншому.


0

У мене виправлено цю помилку, насправді у мене була інша версія MSTest.TestAdapter (1.3.2) в папці моїх пакунків, а в посиланнях .csproj файли вказували на MSTest.TestAdapter (1.1.0). Я замінив усі MSTest.TestAdapter (1.1.0) на MSTest.TestAdapter (1.3.2), і це вирішило мою проблему.


0

Я усвідомлюю, що це питання давнє, однак я зіткнувся з цією ж ситуацією сьогодні і хотів кинути свої два центи для тих, хто нещодавно знайшов цю проблему. Проект ASP MVC, який я вручну перемістив до підпапки в своєму рішенні, а потім видалив і перечитав до рішення, використовуючи Visual Studio 2017, давав згадану помилку. Переміщення папок "lib" та "пакети" до кореня тієї ж підпапки, що й проект MVC, вирішило мою проблему.


0

У мене виникло те саме питання, виявляється, один із проектів, на який я посилався, знаходився поза каталогом рішення (і тому не використовував однакову папку "/ пакети"). Для мене справою було відкрити рішення еталонного проекту та побудувати його там. Як тільки цей проект побудований, помилки відійшли.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.