我知道我们可以托管我们自己的私有/内部NuGet服务器,但有没有办法托管你自己的符号源服务器链接到你的私人NuGet包?我公司的政策不允许发布源代码,甚至包括SymbolSource.Org私有仓库.
谢谢.
remote-debugging debug-symbols nuget nuget-package nuget-server
我正在使用VS2012专业版和NuGet Package Manager版本2.2.31210构建MVC4 Web应用程序.我的解决方案中有多个项目,所有项目共享我使用NuGet安装的各种软件包.我的一个项目是一个MVC4 Web应用程序,我使用的是使用NuGet安装的软件包,如bootstrap,jquery UI等.
当我从我的存储库克隆我的整个解决方案的新副本并构建我的MVC4项目时,包恢复功能似乎正在工作:它在解决方案direcotry下创建packages目录并填充它我将期望的所有软件包版本看到.但是,内容文件不会被复制到MVC app目录中的适当位置.奇怪的是,它确实为内容创建目录,但不会复制内容文件本身.
例如,我正在使用Twitter Bootstrap包,它出现在packages/Twitter.Bootstrap.2.2.2中.在MVC项目中,在Content目录中创建了一个名为bootstrap(包含css,img和js目录)的目录.但是,没有css或js文件被复制到这些目录中!
有没有人知道我必须说出什么神奇的咒语才能让构建从NuGet包目录中复制这些内容文件?
我正在尝试使用.nuspec文件生成nuget包.我们在一个屋檐下有几个项目,并尝试创建nLog.config(和转换文件)并通过nuget包分发它.对于任何版本的.Net Framework,我正在寻找相同的配置文件集(只配置没有dll).所以我真的不需要\ lib \net45\myproject.dll或\ lib \net40\myproject.dll.虽然当我生成nuget包时,它总是创建lib文件夹并包含dll.对于与.net框架版本相关的任何项目,哪种创建依赖关系.
下面是我的nuspec文件,以防有人想提及我做错了什么.我试过""和其他一些事情,但没有运气.
<?xml version="1.0"?>
<package >
<metadata>
<id>NLogConfig</id>
<version>1.0.3</version>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<copyright>Copyright 2013</copyright>
<dependencies>
<dependency id="NLog" version="2.1.0" />
<dependency id="NLog.Schema" version="2.1.0" />
</dependencies>
</metadata>
<files>
<file src="NLog.config" target="content" />
<file src="NLog.Debug.config" target="content" />
<file src="NLog.UAT.config" target="content" />
<file src="NLog.Release.config" target="content" />
<file src="tools\*.*" target="tools"/>
</files>
</package>
Run Code Online (Sandbox Code Playgroud)
如何使用nuspec文件(首选)或其他机制完全排除lib文件夹?谢谢 !!

更新1:
我试图偷偷摸摸但没有成功.我把post build事件和试图删除DLL.但不知何故系统很聪明,它给了我错误"错误79无法找到'C:\ GITRepo\NLogConfig\NLogConfig\bin\Release\NLogConfig.dll'.确保项目已经建成."
更新2
我没有找到使用.csproj来构建nuget包的方法,但是使用外部命令并指定nuspec文件我能够获得相同的结果.问题仍然存在,这只是我的解决方法.
我刚刚在一台新机器上创建了一个工作区,从TFS获得了最新的项目,启用了NuGet Restore,我获得了以下(略读)输出:
1>------ Rebuild All started: Project: Caching, Configuration: Debug Any CPU ------
1> Restoring NuGet packages...
1> To prevent NuGet from downloading packages during build, open the Visual Studio Options dialog, click on the Package Manager node and uncheck 'Allow NuGet to download missing packages'.
1> All packages listed in packages.config are already installed.
1> Caching Framework -> C:\MyProjLocation\Caching\bin\Debug\Caching.dll
2>------ Rebuild All started: Project: Library, Configuration: Debug Any CPU ------
2>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1635,5): warning MSB3245: Could not resolve this …Run Code Online (Sandbox Code Playgroud) msbuild visual-studio nuget nuget-package visual-studio-2013
如何以现代通用方式打包可移植.NET库?假设我有一个AnyCPU程序集,我希望它可用于任何支持.NET Core API表面的.NET平台,例如.NET Framework 4.6和通用Windows平台.
这是一系列问题和答案,记录了我对现代NuGet包创作主题的研究结果,特别关注NuGet 3引入的变化.您可能还对一些相关问题感兴趣:
我一直在与这个错误斗争几个小时,无法找到一个有效的解决方案.
我在一个多项目解决方案中有一个ASP.Net API,它的参考/依赖关系配置不当,我一直试图修复它两天.
问题是(我相信)API缺少System.Web.Http/System.Web.Http.WebHost,它显然包含在Microsoft.AspNet.WebApi.Core中(每多个其他Stack Overflow问题).当试图通过Nuget安装它时,我尝试解决依赖关系时收到以下错误.此外,我每次都遇到此错误(请参阅本问题后面的疑难解答):
我没有按特定顺序完成以下步骤(各种组合多次):
在这一点上,只要修复它,我就可以使用非干净的修复程序.API在某一点上工作,但后来我将其检入TFS,创建了一个分支,现在正在分支机构工作.可能有一些依赖项没有被包括在内(?)但是即使是这种情况,似乎我采取的步骤应该可以解决问题.
我已经在我的解决方案上设置了NuGet Package Restore,它在我的本地机器上运行良好.我按照这里提供的说明操作:
http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages
我遇到的问题是在我的构建服务器上发生以下错误:
默认情况下禁用包还原.要同意,请打开Visual Studio选项对话框,单击程序包管理器节点,然后选中"允许NuGet在构建期间下载缺少的程序包".您还可以通过将环境变量"EnableNuGetPackageRestore"设置为"true"来表示同意.
不幸的是,我无法访问构建服务器,因为它是在站点外控制的,因此无法更新环境变量.还有其他方法吗?我可以添加到解决方案文件或类似的任何东西,以允许包恢复?
尝试使用程序包管理器控制台安装任何内容时,出现此错误:
Install-Package : The schema version of 'Microsoft.Bcl' is incompatible with version 2.0.30625.9003 of NuGet. Please upgrade NuGet to the latest version from
http://go.microsoft.com/fwlink/?LinkId=213942.
At line:1 char:1
+ Install-Package Moment.js
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Install-Package], InvalidOperationException
+ FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand
Run Code Online (Sandbox Code Playgroud) 我们正在使用改进的自动包恢复过程来恢复丢失的NuGet包.
构建时,恢复对话框会在从包源开始下载时弹出,这是正确的:

我可以看到包正在恢复到packages文件夹中,但它没有完成恢复所有这些.我收到以下类型的错误:
Error 10 NuGet Package restore failed for project MyProject: System.InvalidOperationException: Unable to find version '6.0.1' of package 'Newtonsoft.Json'.
at NuGet.PackageHelper.ResolvePackage(IPackageRepository repository, String packageId, SemanticVersion version)
at NuGet.VsEvents.PackageRestorer.RestorePackage(PackageReference package)
at NuGet.VsEvents.PackageRestorer.RestorePackages(String packageReferenceFileFullPath, IFileSystem fileSystem)
at NuGet.VsEvents.PackageRestorer.PackageRestore(ProjectPackageReferenceFile projectPackageReferenceFile).
Run Code Online (Sandbox Code Playgroud)
这可能是因为我有多个包源吗?

例如,NuGet可能会在我们的私有包源中搜索'Newtonsoft.Json',而不是在nuget.org源代码中搜索.
该.nuget/NuGet.config文件中:
<configuration>
<packageSources>
<add key="nuget.org" value="https://www.nuget.org/api/v2/" />
<add key="private" value="http://privatePackageSource.com/nuget" />
</packageSources>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我们正在使用Visual Studio 2013和NuGet 2.8.5.
编辑:
使用Fiddler,我已经确认NuGet确实在不正确的源中搜索包.它从我的私有存储库请求以下包.
我也阅读了这篇文章并将该activePackageSource部分添加到NuGet.config文件中:
<configuration> …Run Code Online (Sandbox Code Playgroud) nuget nuget-package nuget-server visual-studio-2013 nuget-package-restore
每次我在Visual Studio 2015中打开解决方案时,都会收到以下消息:
以下是ActivityLog.xml的最后一项:
<entry>
<record>827</record>
<time>2015/12/23 11:26:13.919</time>
<type>Error</type>
<source>VisualStudio</source>
<description>SetSite failed for package [Visual Studio Explorers and Designers Package][Object reference not set to an instance of an object.]:{ at Microsoft.VSDesigner.VSDMenus.Initialize(IServiceProvider serviceProvider)
 at Microsoft.VSDesigner.VSDesignerPackage.VSDesignerPackage.Initialize()
 at Microsoft.VisualStudio.Shell.Package.Microsoft.VisualStudio.Shell.Interop.IVsPackage.SetSite(IServiceProvider sp)}</description>
<guid>{8D8529D3-625D-4496-8354-3DAD630ECC1B}</guid>
<hr>80004003 - E_POINTER</hr>
<errorinfo>Object reference not set to an instance of an object.</errorinfo></entry>
Run Code Online (Sandbox Code Playgroud)
我遵循在类似问题中找到的建议,但没有成功.
不幸的是,通过扩展和更新重新安装NuGet并不能解决问题.
nuget-package ×10
nuget ×9
.net ×2
c# ×2
nuget-server ×2
.net-core ×1
asp.net ×1
msbuild ×1
uwp ×1