我正在尝试创建我的第一个NuGet包.我不知道为什么我的install.ps1脚本没有被调用.这是目录结构
--Package
|
- MyPackage.nuspec
- tools
|
- Install.ps1
- some_xml_file
Run Code Online (Sandbox Code Playgroud)
我使用此命令行构建包
nuget.exe pack MyPackage.nuspec
从VS Package Manager控制台安装包时,不会调用install.ps1.
我想也许我在脚本中有一些错误,这就是原因,所以我评论了一切,但是
param($installPath, $toolsPath, $package, $project)
"ECHO"Run Code Online (Sandbox Code Playgroud)
但我没有看到ECHO出现在Package Manager Console中.有什么不对?
我想调用像NUnit这样的可执行工具,我在MSBuild中通过NuGet管理它:
<Target Name="Test">
<CreateItem Include="$(BuildCompileDirectory)\*.Tests.*dll">
<Output TaskParameter="Include" ItemName="TestAssemblies" />
</CreateItem>
<NUnit
Assemblies="@(TestAssemblies)"
ToolPath="$(PackagesDirectory)\NUnit.2.5.10.11092\tools"
WorkingDirectory="$(BuildCompileDirectory)"
OutputXmlFile="$(BuildDirectory)\$(SolutionName).Tests.xml" />
</Target>
Run Code Online (Sandbox Code Playgroud)
问题是NuGet包的文件夹包含包的版本号.例如nunit-console.exe在文件夹中packages\NUnit.2.5.10.11092\tools.如果我更新NUnit包,这个路径将会改变,我必须更新我的MSBuild脚本.这是不可接受的.
MSBuild不允许在目录中使用通配符,因此这不起作用:
ToolPath="$(PackagesDirectory)\NUnit.*\tools"
Run Code Online (Sandbox Code Playgroud)
如何更新NuGet包时,如何在不更新构建脚本的情况下调用MSBuild中的工具?
控件工具包现在对System.Spacial,Microsoft.Data.Edm,Microsoft.Data.OData,Microsoft.WindowsAzure.ConfigurationManager和WindowsAzure.Storage有了新的依赖关系!
这真的有必要吗?我可以以某种方式绕过这种膨胀吗?
如何以通用NuGet发布的现代通用方式打包通用Windows平台库?假设我有一个用C#编写的AnyCPU程序集,它导出一些代码和XAML用户控件.
这是一系列问题和答案,记录了我对现代NuGet包创作主题的研究结果,特别关注NuGet 3引入的变化.您可能还对一些相关问题感兴趣:
我正在尝试将NuGet包Naos.Packaging.Nuget添加到VS2015项目Naos.Deployment.Core.两者都是开源的.
我收到这个错误:
Failed to add reference to 'System.Globalization'. Please make sure that it is in the Global Assembly Cache.
完整输出粘贴在下面.
令人困惑的是,Naos.Deployment.Core是一个.net 4.5项目.Naos.Packaging.Nuget也是如此.Naos.Packaging.Nuget依赖于NuGet.Frameworks,它依赖于System.Globalization(据我所知,这是链中System.Globalization的唯一依赖).但是,该依赖项仅适用于DNXCore 5.0项目.
那么为什么DNXCore关注的问题呢?为什么我不能添加这个nuget包,我该如何修复它?
试过这种方法,但它不起作用.使用最新的VS 2015(更新1),最新的nuget.
Attempting to gather dependencies information for package 'Naos.Packaging.NuGet.1.0.5' with respect to project 'Naos.Deployment.Core', targeting '.NETFramework,Version=v4.5'
Attempting to resolve dependencies for package 'Naos.Packaging.NuGet.1.0.5' with DependencyBehavior 'Lowest'
Resolving actions to install package 'Naos.Packaging.NuGet.1.0.5'
Resolved actions to install package 'Naos.Packaging.NuGet.1.0.5'
Removed package 'NuGet.Core.2.8.6' from 'packages.config'
Successfully uninstalled 'NuGet.Core.2.8.6' from Naos.Deployment.Core
Adding …Run Code Online (Sandbox Code Playgroud) 我使用Nuget Installer创建了一个TeamCity构建步骤,但是当我运行这些步骤时,我得到了错误:
Updating sources: server side checkout
[15:35:44][Updating sources] Repository sources transferred: 112.73 KB total
[15:35:44][Updating sources] Removing C:\TeamCity\buildAgent\work\12dee9c66185ea67
[15:35:44][Updating sources] Updating C:\TeamCity\buildAgent\work\12dee9c66185ea67
[15:35:44]Parameter **"teamcity.tool.NuGet.CommandLine.DEFAULT=%teamcity.tool.NuGet.CommandLine.3.4.3%" is not fully resolved, using as is.**
Step 1/3: Nuget (NuGet Installer)
[15:25:34][Step 1/3] scan: Searching for nuget.config files
[15:25:34][scan] Found packages folder: C:\TeamCity\buildAgent\work\12dee9c66185ea67\packages
[15:25:34][scan] Failed to find repositories.config at C:\TeamCity\buildAgent\work\12dee9c66185ea67\packages\repositories.config
[15:25:34][scan] Scanning projects in solution file: C:\TeamCity\buildAgent\work\12dee9c66185ea67\Specflow.sln
[15:25:34][scan] Found project C:\TeamCity\buildAgent\work\12dee9c66185ea67\Specflow\Specflow.csproj
**[15:25:34][Step 1/3] Failed to find NuGet executable at: C:\TeamCity\buildAgent\work\12dee9c66185ea67\%teamcity.tool.NuGet.CommandLine.DEFAULT%
[15:25:34][Step 1/3] Step Nuget …Run Code Online (Sandbox Code Playgroud) 我想通过Nuget Package Manager在我的asp.net核心应用程序中添加FluentValidation Nuget包.虽然添加我收到此错误:
严重级代码说明项目文件行抑制状态错误检测到Microsoft.CodeAnalysis.Common的版本冲突.直接从项目引用包以解决此问题.项目名称 - > FluentValidation.AspNetCore 7.6.103 - > Microsoft.AspNetCore.Mvc 2.1.0 - > Microsoft.AspNetCore.Mvc.TagHelpers 2.1.0 - > Microsoft.AspNetCore.Mvc.Razor 2.1.0 - > Microsoft.CodeAnalysis. Razor 2.1.0 - > Microsoft.CodeAnalysis.Common(> = 2.8.0)项目名称 - > Microsoft.VisualStudio.Web.CodeGeneration.Design 2.0.0 - > Microsoft.VisualStudio.Web.CodeGenerators.Mvc 2.0.0 - > Microsoft.VisualStudio.Web.CodeGeneration 2.0.0 - > Microsoft.VisualStudio.Web.CodeGeneration.EntityFrameworkCore 2.0.0 - > Microsoft.VisualStudio.Web.CodeGeneration.Core 2.0.0 - > Microsoft.VisualStudio.Web.CodeGeneration.Templating 2.0 .0 - > Microsoft.VisualStudio.Web.CodeGeneration.Utils 2.0.0 - > Microsoft.CodeAnalysis.CSharp.Workspaces 2.3.1 - > Microsoft.CodeAnalysis.Workspaces.Common 2.3.1 - > Microsoft.CodeAnalysis.Common(= 2.3 0.1).
我该如何解决这个错误?
我建立了一个构建管道来创建Nuget软件包并将其发布到工件中的提要中。
我能够成功使用Feed。
但是,当我再次运行管道,导致程序包再次发布时,我无法成功更新使用项目。
即使我可以在软件包管理器中看到正确的新版本号(Visual Studio->工具-> Nuget软件包管理器->管理Nuget软件包以获取解决方案)
单击安装时出现错误
Package '<mypackagename with version number>' is not found in the following primary source
<correct feed nuget/v3/index.json> Please verify all your online package sources are available (OR) package id, version are specified correctly.
Run Code Online (Sandbox Code Playgroud) 我在运行在TeamCity中构建Web项目的MSBuild构建步骤时遇到这些错误,并且我已将我的Nuget目标文件PackageSource设置为指向本地Nuget服务器,例如PackageSource Include ="http:// mylocaldevurl/nuget/Packages".
构建运行并产生表单错误,例如Exec] F:\ TeamCity\buildAgent\work\blahblah.nuget\NuGet.targets(87,9):无法从路径'Lucene.Net.3.0.3.nupkg读取包".
什么是奇怪的其他软件包可以很好地下载到TeamCity工作文件夹 - 包文件夹.
本地Nuget Server包含仅包含.nupkg文件的VS解决方案包(默认包文件夹中的解决方案包)的副本.
我的问题是,在将.nupkg文件复制到该服务器时,我需要做些什么.我可能会遗漏一些东西.
我已经加倍检查过本地服务器中是否存在软件包
nuget-package ×10
nuget ×7
.net ×3
msbuild ×2
teamcity ×2
asp.net-core ×1
azure-devops ×1
node.js ×1
uwp ×1
xaml ×1