Nuget Pack - 找不到刚刚安装的软件包

问题描述:

VS 2015中的情景。Nuget 3.5Nuget Pack - 找不到刚刚安装的软件包

两个项目。 A和B A创建NuGet包A.(不依赖于其他的NuGet源) 乙安装NuGet包A. B创建的所有包都挤满并拷贝到驱动器盘符NuGet包B.

。 Visual Studio有源码。

将Nuget Package A安装到B中可以很好地工作。

但是,创造套餐B

找不到 'packageA.nupkg' 时。确保项目已经建成。

我的配置有源代码,这就是为什么它安装在第一位。

我刚刚安装了这个软件包,它位于packages文件夹内,它在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> 
+0

csproj文件中有东西存在或缺失。 如果我创建一个新项目,包含所有相同的代码文件,引用和包,它将创建包B - 没有任何问题。 但是,我有超过22个项目,与吨不复杂,我不想重新创建.. –

+0

我可以确认所有软件包都位于packages文件夹中。 nupkg包含正确的461程序集。 msbuild正在运行工具14 包是否在Solution VS.NET 2015或命令行中运行 –

无法找到 'packageB.nupkg'。确保项目已经建成。

这个错误应该是无法找到 “程序包A .nupkg”,而不是 “packageB.nupkg”。我对吗?

如果是,那是因为包文件夹不在预期位置

您可以检查PackageA.nupkg是否存在于解决方案文件夹下的packages文件夹中。当nuget pack软件包依赖于打包的目录时,应该有一个选项可以通过cmd行覆盖该配置,但选项-PackageDirectory已将添加到nuget pack命令中,而不是。它打算在版本3.61中添加。欲了解更多信息,你可以参考Issue 3378

要解决此问题,可以将包文件夹设置在预期位置,或使用.nuspec文件而不是.xxproj。

希望这可以帮助你。

+0

此错误应该无法找到“packageA.nupkg”而不是“packageB.nupkg”。我对吗? - 是 - 编辑问题。 软件包*不存在于软件包文件夹中,并且csproj文件指向正确的位置。 我也加了csproj partial –

+0

@Jonathan Crossland,根据你的csproj文件,“System.Web.Http”和“System.Web.Http.WebHost”包不在预期的位置,所以当你打包项目,nuget找不到这些软件包。这是nuget的一个已知问题,您需要更新HintPath并将这些软件包设置为软件包。 –

我用这个帖子How can .csproj know about its solution?来输出$(SolutionDir)并发现有差异。

csproj,与.sln文件夹下一级,给我一个$(SolutionDir),这是不正确的,当调用nuget包时b.csproj A.package比B.package高一级, B一下就找不到包文件夹。

文件夹\解决方案\包 文件夹\解决方案\项目A 文件夹\项目B

的MSBuild和Visual Studio 2015年有同样的问题。

因为我通过命令行使用msbuild和nuget,并且错误“can not find package”中没有包含它正在查找的文件夹,所以它变成了一个糟糕的问题。

Nuget真的应该输出更多的pack命令,而不仅仅是找不到packagename。完整的文件夹位置会有帮助。

我将项目移至相同的文件夹深度,并找到了软件包。 奇怪的是,csproj导入/依赖关系只有.. \的提示,这是不够好找到包。我认为VS.NET 2015更新提示位置可能存在问题。

+0

令人烦恼的是,csproj中的工具被设置为4.0而不是14,这导致我沿着花园路径前进。当您从较旧的vs.net升级项目时,我会期望与目标平台一起更新工具。 –