Nuget Pack - не могу найти только что установленный пакет
Сценарий в VS 2015. Nuget 3.5
Два проекта. A и B A создает пакет Nuget A. (зависит от других источников Nuget) B устанавливает пакет Nuget A. B создает пакет Nuget B.
Все пакеты упакованы и скопированы на букву диска. Visual Studio имеет источник.
Установка Nuget Package A в B работает отлично.
Но при создании пакета B
Невозможно найти "packageA.nupkg". Убедитесь, что проект был построен.
Мой конфиг имеет исходники, поэтому он установлен в первую очередь.
Я только что установил этот пакет, он находится в папке пакетов, он указан в файле packages.config.
Есть идеи?
<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>{2E3C3C47-80B4-4B51-9039-438380C9A926}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>LucidOcean.Atlantis.Core</RootNamespace>
<AssemblyName>LucidOcean.Atlantis.Core</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<RestorePackages>false</RestorePackages>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<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' ">
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DebugSymbols>true</DebugSymbols>
</PropertyGroup>
<PropertyGroup>
<SignAssembly>true</SignAssembly>
</PropertyGroup>
<PropertyGroup>
<AssemblyOriginatorKeyFile>lucidocean.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="Atlantis.Extensibility, Version=2017.0.0.9, Culture=neutral, PublicKeyToken=ff48a18f294fb322, processorArchitecture=MSIL">
<HintPath>$(SolutionDir)packages\Atlantis.Extensibility.2017.0.0.9\lib\net461\Atlantis.Extensibility.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="AWSSDK, Version=2.3.55.2, Culture=neutral, PublicKeyToken=9f476d3089b52be3">
<HintPath>g:\LucidOceanNugetServer\AWSSDK.2.3.55.2\lib\net45\AWSSDK.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<HintPath>g:\LucidOceanNugetServer\SharpZipLib.0.86.0\lib\20\ICSharpCode.SharpZipLib.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="LucidOcean.Atlantis.Core, Version=2017.0.0.3, Culture=neutral, PublicKeyToken=ff48a18f294fb322, processorArchitecture=MSIL">
<HintPath>$(SolutionDir)packages\LucidOcean.Atlantis.Core.2017.0.0.3\lib\net461\LucidOcean.Atlantis.Core.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="LucidOcean.Business, Version=2017.0.0.9, Culture=neutral, PublicKeyToken=ff48a18f294fb322, processorArchitecture=MSIL">
<HintPath>$(SolutionDir)packages\LucidOcean.Business.2017.0.0.9\lib\net461\LucidOcean.Business.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="LucidOcean.Data, Version=2017.0.0.9, Culture=neutral, PublicKeyToken=ff48a18f294fb322, processorArchitecture=MSIL">
<HintPath>$(SolutionDir)packages\LucidOcean.Data.2017.0.0.9\lib\net461\LucidOcean.Data.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="LucidOcean.Data.Utility, Version=2017.0.0.9, Culture=neutral, PublicKeyToken=ff48a18f294fb322, processorArchitecture=MSIL">
<HintPath>$(SolutionDir)packages\LucidOcean.Data.Utility.2017.0.0.9\lib\net461\LucidOcean.Data.Utility.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="LucidOcean.Web.Caching, Version=2017.0.0.3, Culture=neutral, PublicKeyToken=ff48a18f294fb322, processorArchitecture=MSIL">
<HintPath>$(SolutionDir)packages\LucidOcean.Web.Caching.2017.0.0.3\lib\net461\LucidOcean.Web.Caching.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="LucidOcean.Web.Communication, Version=2017.0.0.1, Culture=neutral, PublicKeyToken=ff48a18f294fb322, processorArchitecture=MSIL">
<HintPath>$(SolutionDir)packages\LucidOcean.Web.Communication.2017.0.0.1\lib\net461\LucidOcean.Web.Communication.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="LucidOcean.Web.Layouts, Version=2017.0.0.4, Culture=neutral, PublicKeyToken=ff48a18f294fb322, processorArchitecture=MSIL">
<HintPath>$(SolutionDir)packages\LucidOcean.Web.Layouts.2017.0.0.4\lib\net461\LucidOcean.Web.Layouts.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="LucidOcean.Web.Security, Version=2017.0.0.9, Culture=neutral, PublicKeyToken=ff48a18f294fb322, processorArchitecture=MSIL">
<HintPath>$(SolutionDir)packages\LucidOcean.Web.Security.2017.0.0.9\lib\net461\LucidOcean.Web.Security.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="LucidOcean.Web.Utility, Version=2017.0.0.8, Culture=neutral, PublicKeyToken=ff48a18f294fb322, processorArchitecture=MSIL">
<HintPath>$(SolutionDir)packages\LucidOcean.Web.Utility.2017.0.0.8\lib\net461\LucidOcean.Web.Utility.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.ReportViewer.Common, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
<HintPath>g:\LucidOceanNugetServer\Microsoft.Report.Viewer.11.0.0.0\lib\net\Microsoft.ReportViewer.Common.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.ReportViewer.ProcessingObjectModel, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
<HintPath>g:\LucidOceanNugetServer\Microsoft.Report.Viewer.11.0.0.0\lib\net\Microsoft.ReportViewer.ProcessingObjectModel.DLL</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
<HintPath>g:\LucidOceanNugetServer\Microsoft.Report.Viewer.11.0.0.0\lib\net\Microsoft.ReportViewer.WebForms.DLL</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.SqlServer.Types, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>$(SolutionDir)packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>$(SolutionDir)packages\Newtonsoft.Json.10.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="nunit.framework, Version=3.6.1.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
<HintPath>g:\LucidOceanNugetServer\NUnit.3.6.1\lib\net45\nunit.framework.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="SimpleImpersonation, Version=2.0.1.27158, Culture=neutral, processorArchitecture=MSIL">
<HintPath>g:\LucidOceanNugetServer\SimpleImpersonation.2.0.1\lib\net40-Client\SimpleImpersonation.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.Drawing" />
<Reference Include="System.Messaging" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Net.Http.Formatting, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>g:\LucidOceanNugetServer\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Http.WebRequest" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Security" />
<Reference Include="System.ServiceModel" />
<Reference Include="System.Web" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>$(SolutionDir)packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.Helpers.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.Http, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>g:\LucidOceanNugetServer\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.Http.WebHost, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>g:\LucidOceanNugetServer\Microsoft.AspNet.WebApi.WebHost.5.2.3\lib\net45\System.Web.Http.WebHost.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>$(SolutionDir)packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45\System.Web.Mvc.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>$(SolutionDir)packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>$(SolutionDir)packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.WebPages.Deployment, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>$(SolutionDir)packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Deployment.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>$(SolutionDir)packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Razor.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
2 ответа
Я использовал этот пост. Как.csproj может узнать о его решении? вывести $(SolutionDir) и обнаружил несоответствие.
Csproj был на один уровень ниже папки с.sln, он дал мне $(SolutionDir), который был неправильным, при вызове пакета nuget b.csproj A.package был на один уровень выше, чем B.package, а B опустился на один уровень ниже. и не найти папку пакетов.
папка \ решение \ пакеты папка \ решение \ папка ProjectA \ProjectB
msbuild и Visual Studio 2015 имели ту же проблему.
Так как я использовал msbuild и nuget через командную строку, а ошибка "не могу найти пакет" не содержит папок, которые он ищет, это стало проблемой.
Nuget действительно должен выводить больше команды pack, чем просто не может найти имя_пакета. Полное местоположение папки было бы полезно.
Я переместил проекты на ту же глубину папки, и он нашел пакет. Любопытно, что csproj Import/Dependencies имел только..\ намека, который был недостаточно хорош, чтобы найти пакеты. Я думаю, что может быть проблема с обновлением местоположения подсказки в VS.NET 2015.
Невозможно найти "packageB.nupkg". Убедитесь, что проект был построен.
Эта ошибка не может найти "packageA.nupkg", а не "packageB.nupkg". Я прав?
Если да, то это потому, что папка пакетов не находится в ожидаемом месте.
Вы можете проверить, существует ли PackageA.nupkg в папке пакетов в папке вашего решения или нет. Если пакет Nuget Pack имеет зависимость от packagedirectory, тогда должна быть опция для переопределения этой конфигурации через строку cmd, но опция -PackageDirectory не была добавлена в команду nuget pack. Он предназначен для добавления в версии 3.61. Для получения дополнительной информации вы можете обратиться к выпуску 3378.
Чтобы решить эту проблему, вы можете установить папку пакетов в ожидаемом месте или использовать файл.nuspec вместо.xxproj.
Надеюсь, это поможет вам.