Nuget包下载Javascript文件到〜/脚本 我更喜欢将我的内容组织在〜/ content文件夹中,其中包含 ~/content/css ~/content/images ~/content/scripts ~/content/scripts/vendor (for packages/ downlaoded scripts) ~/content/scripts/site (my own site's JS) 如何让Nuget下载Javascript文件到~/content/scripts/vendor ?
我在VS 2013(Update 1)中创build了一个新的ASP.NET MVC 5 Web项目,然后更新了所有的NuGet包。 当我build立这个项目时,我得到以下警告: 警告MSB3243:无法解决“Newtonsoft.Json,Version = 6.0.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed”和“Newtonsoft.Json,Version = 4.5.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed”之间的冲突。 当我检查web.config,但是,我看到绑定redirect到位: <dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/> <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0"/> </dependentAssembly> 这正是警告所build议的。 我怎样才能解决这个警告?
一些背景: 我已经按照使用NuGet的教程没有提交一些成功的包 。 通过手动添加<RestorePackages>和一个<Import …> nuget.targets文件解决了这个NuGet问题后 ,事情正在工作。 但是,一旦我使用Mercurial克隆存储库,构build时出现以下错误: 无法find“C:\ … \ Visual Studio 2010 \ Projects \ MyProject \ .nuget \ nuget.exe” 这是有道理的,因为我的忽略模式阻止我检查exe文件。 从这个相关的SO问题中,我推断出这个文件在版本控制(或者是?)中并不罕见,但是如果我可以帮助的话,我真的不希望将NuGet.exe提交到版本控制 。 问题:有没有一种方便的方法来防止需要检查NuGet.exe? 我已经尝试了一些Google-fu,浏览文档,并且用NuGet.targets文件摆弄,到目前为止没有运气。 如果我可以dynamic指向构build解决scheme的特定环境的NuGet.exe,似乎更可取。 我知道我可以添加exe文件,但我更想知道是否有其他方法来处理这个问题,或知道为什么没有可行的select。 更新: nuget.targets文件包含一些相关的xml: <!– only (relevant) parts of the xml shown below –> <DownloadNuGetExe Condition=" '$(DownloadNuGetExe)' == '' ">false</DownloadNuGetExe> … <UsingTask TaskName="DownloadNuGet" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll"> <Task> <Code Type="Fragment" […]
目前,我将发布版本与官方版本的Nuget一起打包到nuget.org,但是我用Nuget打包了debugging版本,将symbol source推送到symbolsource.org。 编辑:( Jon Skeet,有一些Noda时间发展的偏见) 正如文档所述 ,NuGet现在支持推送到NuGet图库和 symbolsource.org(或类似的服务器)。 不幸的是,这里有两个相互矛盾的要求: 当仅仅使用一个库而不需要debugging的时候,你真的想要一个发布版本。 毕竟,这就是发布版本的目的。 为了进行诊断而debugging到库中时,您确实需要一个debugging版本,并禁用所有适当的优化。 毕竟,这就是debugging版本的作用。 这样可以,但是NuGet并没有(据我所知)允许发布版本和debugging版本以一种有用的方式发布在同一个包中。 所以,select是: 将debugging版本分发给每个人(如文档中的示例所示),并以任何大小和性能命中。 将发布版本分发给每个人,并且存在稍微受损的debugging体验。 寻找一个非常复杂的分发策略,可能会提供单独的发行版和debugging软件包。 前两个真正归因于debugging版本和发布版本之间差异的影响…虽然值得注意的是,想要进入库的代码之间也有很大的区别,因为您想检查一些行为,并且想要debugging库的代码,因为你相信你已经发现了一个错误。 在第二种情况下,将库的代码作为Visual Studio解决scheme并进行debugging可能会更好,所以我没有太在意这种情况。 我的诱惑是只保留发布版本,期望相对较less的人需要debugging,而那些做的不会受到发布版本中优化的影响。 (无论如何,JIT编译器会进行大部分优化。) 那么,还有其他的select,我们没有考虑? 是否有其他的考虑,以平衡? 将NuGet软件包推向SymbolSource是否足够新,以至于“最佳实践”还没有build立起来?
最新评论 我相信我的问题发生在使用Nuget时,但是,如果您正在阅读,因为TF30063错误。 看看我提供和接受的答案。 原始post 当我尝试检出时,收到此错误消息。 这种情况是随机发生的,即使在几分钟之前,视觉工作室的相同实例也允许我检查其他内容以进行编辑。 目前的解决方法是重新打开VS2010。 在我的本地开发机器上使用W7x64,vs2010终极与TF2010和sql2008。 我不是域的一部分。 我是这台电脑的pipe理员。 额外2011-08-09 当问题发生时,我在文件下面“closures解决scheme”。 然后重新打开解决scheme。 然后我得到一个uid / pwd框。 我把我的pipe理员用户名/密码进入它,然后得到进一步的错误信息。 再次,closuresVS2010和重新开放解决了这个问题。 附加:2011-08-30 我相信这与nuget有关。 我已经提供了一个答案,并在很多个月后,我没有一个TFS错误。 考虑到我一直在执行的操作types与使其失败的场景相同,在那里我应该有一个错误。
我有一个我所做的程序集,这个程序集对我公司的团队非常特殊。 我希望能够使用NuGet来使这个程序集适用于我的团队和我公司的类似团队正在开发的其他项目。 然而,这个程序集并不是我想要和世界分享的代码。 我知道Maven,你可以从本地仓库创build本地仓库和源码包。 NuGet是否支持类似的function? 有没有办法与NuGet指定一个本地存储库或有私人包?
我有一个在VS 2012中开发的ASP.NET MVC 4应用程序。该应用程序由一个主项目(MyProject),一个unit testing项目(MyProject.Tests),一个Azure部署项目(MyProject.Azure)和几个通用库项目。 当我右键单击解决scheme或主项目并select“pipe理NuGet软件包”时,我看到一大堆Microsoft更新在上个月显然已经可用。 如果我点击全部更新button然后更新显然安装没有任何明显的问题,但是当我构build解决scheme时,我得到这个错误消息TWICE: warning : All projects referencing MyProject.csproj must install nuget package Microsoft.Bcl.Build 好的,所以我有两个引用MyProject的项目:MyProject.Tests和MyProject.Azure。 我可以右键单击MyProject.Tests,selectManageNuGet包,然后添加Microsoft.Bcl.Build。 这摆脱了两个警告之一。 但是VS并没有给我一个选项来pipe理MyProject.Azure项目的NuGet包 。 如何将Microsoft.Bcl.Build包添加到Azure部署项目? 编辑: 感谢用户膨胀 ,我现在知道这个问题的Microsoft连接问题已经打开在这里 。
我有与MVC3(1.0)自带的NuGet版本,但是当我尝试升级到最新版本(目前1.4)失败,我得到这在日志文件中: 6/27/2011 1:25:08 PM – VSIXInstaller.SignatureMismatchException:已安装版本的“NuGet Package Manager”已签名,但更新版本的签名无效。 因此,扩展pipe理器无法安装更新。 在VSIXInstaller.InstallProgressPage.BeginInstallVSIX(SupportedVSSKU targetAppID)上的VSIXInstaller.Common.VerifyMatchingExtensionSignatures(IInstalledExtension installedExtension,IInstallableExtension updateExtension) 6/27/2011 1:25:08 PM – 安装错误:VSIXInstaller.SignatureMismatchException:已安装版本的“NuGet程序包pipe理器”已签名,但更新版本的签名无效。 因此,扩展pipe理器无法安装更新。 在VSIXInstaller.InstallProgressPage.BeginInstallVSIX(SupportedVSSKU targetAppID)上的VSIXInstaller.Common.VerifyMatchingExtensionSignatures(IInstalledExtension installedExtension,IInstallableExtension updateExtension) 6/27/2011 1:26:27 PM – VSIXInstaller.SignatureMismatchException:已安装版本的“NuGet Package Manager”已签名,但更新版本的签名无效。 因此,扩展pipe理器无法安装更新。 在VSIXInstaller.InstallProgressPage.BeginInstallVSIX(SupportedVSSKU targetAppID)上的VSIXInstaller.Common.VerifyMatchingExtensionSignatures(IInstalledExtension installedExtension,IInstallableExtension updateExtension) 我甚至尝试卸载NuGet(通过添加或删除程序)并手动安装1.4,但我莫名其妙地得到相同的消息。 任何想法我做错了什么?
当我有Visual C#2010 Express时,如何使用NuGet添加库包引用? 当我在工具>扩展pipe理器中search时,NuGet不会出现。 我从下载页面下载了“NuGet Package Manager”(.vsix),但是当它提示我要将哪个版本的Visual Studio集成到其中时,它只列出了Visual Web Developer Express 2010. Visual C#Express未显示。 所以我想这将在VWD中使用Silverlight,但是我想用WPF来使用它。 其中一个文档页面将我链接到1.0 CTP下载页面 ,其中包括一个命令行版本的NuGet(不再出现在最新版本中)。 但是命令行版本似乎被削弱了 – 似乎支持的唯一操作是构build一个分发包; 它似乎不支持添加对库包的引用的命令。 在Visual C#Express中使用NuGet有没有办法?
我正在尝试为使用NuGet的Visual Studio项目创build.gitignore。 它目前包含: \packages/* !packages/repositories.config 这不会忽略文件夹中的任何内容。 一切都上演了一个添加。 我也试过了: packages/ !packages/repositories.config 这会忽略packages文件夹中的所有内容,不包括packages / repositories.config。 我究竟做错了什么?