正如标题所说,为什么ASP.NET MVC 4项目有很多NuGet包? 整个框架现在分成几个包? 对于一个空的项目来说,哪些是真正重要的,哪些是网站,没有API等? UPDATE 为了澄清,我没有问题,除非你把一个基本的困惑计算在内。 我只是想知道为什么新的MVC 4项目默认安装了这么多的软件包? 一个空的项目有一整页的包。 互联网项目有三个完整的软件包页面。 我只是好奇,为什么这是因为我目前的MVC 3项目使用最多五个包。
我已经安装了RazorGenerator.mvc的NuGet包 ,然后运行shell命令Enable-RazorGenerator并获得以下消息: 使用“0”参数调用“RunCustomTool”的exception:“自定义工具”RazorGenerator“失败,方法或操作未执行”在\ packages \ RazorGenerator.Mvc.1.3.2.0 \ tools \ RazorGenerator.psm1: 77 char:40+ $ _。Object.RunCustomTool <<<<()+ CategoryInfo:NotSpecified:(:) [],MethodInvocationException + FullyQualifiedErrorId:ComMethodTargetInvocation 我也尝试右键单击并select“运行自定义工具”,并提供一个对话框,指出它无法在系统上find自定义工具RazorGenerator 。 我错过了什么?
只有在可执行文件的项目中才需要这些信息吗? 如何禁用此文件创build? NuGet 2.8 编辑 库项目是NuGet 2.7中的exception,通过修复此问题,行为发生了变化: http : //nuget.codeplex.com/workitem/3827 with commit: http : //nuget.codeplex.com/SourceControl/changeset/448652d028e3f01ba4022e147baaf4e1fb3f969b
执行 nuget.exe pack ..\.nuget\nuget.exe pack ..\pathToProject\myproject.nuspec -IncludeReferencedProjects -Prop Configuration=Release 我得到错误 The replacement token 'id' has no value. nuspec看起来像这样 <?xml version="1.0" encoding="utf-8"?> <package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> <metadata> <id>$id$</id> <version>$version$</version> <title>$id$</title> <authors>$author$</authors> <requireLicenseAcceptance>false</requireLicenseAcceptance> <description>$description$</description> </metadata> </package>
我从这个网站安装.net核心 。 玩它导致了一些相关的包pipe理问题: dotnet restore命令继续“安装”.net核心NuGet包。 这些软件包在哪里“安装”? 没有创build一个新的文件夹。 dotnet restore为“hello world”最小的例子需要大约一百个NuGet包,其中99%可能与“hello world”应用程序无关。 诚然,一个.net本地生成将删除所有不需要的 – 但我希望restore也可以抓住很less(三个或四个包,而不是一百)。 为什么这种行为? 我创build了第二个“hello world”项目,并再次运行dotnet restore 。 这一次没有安装任何软件包。 看来所有安装的软件包都是第一次进入全球某个位置共享。 我以为.net核心没有这样的工作。 我以为.NET核心项目在本地保留了所有的依赖关系。 我唯一的目标是dnxcore50 。 为什么这种行为? 我想“卸载”所有这些全局包,然后重试(仅用于学习目的)。 这怎么可能完成? 请记住,如问题#1所述,我不知道所有这些文件的安装位置。 几乎所有通过restore命令安装的软件包都被列为beta版本。 奇。 我以为.NET核心是在RC1,而不是testing版。 被这个迷惑了。 为什么这种行为? 我也很好奇什么文件可以/将会向我解释这一切。 我试着对这些问题进行search,并没有发现任何东西(可能只是可怕的google-fu?)。
比方说,我有一个这样的结构的项目: MyLibrary\ MyLibrary.sln MyLibrary.Core\ MyLibrary.Core.csproj MyLibrary.Extensions\ MyLibrary.Extensions.csproj MyLibrary.Tests\ MyLibrary.Tests.csproj 我想创build一个包装MyLibrary.Core.dll和MyLibrary.Extensions.dll的NuGet包。 我似乎无法弄清楚如何让NuGet做到这一点。 我已经尝试了手动构build一个spec文件,我试过用“nuget spec MyLibrary.Core.csproj”构build一个。 我已经尝试将所有的DLL添加到一个lib /文件夹,我知道这是基于约定的机制,将DLL添加到包。 在任何情况下,我都可以让MyLibary.Core.dll进入软件包,但MyLibrary.Extensions.dll并没有最终与它打包在一起。 TLDR:创build包含多个项目/程序集的NuGet包的最佳做法是什么? 那里有一个关于这个的教程吗? 我发现的教程都集中在简单的单项目演示。
在Noda Time 1.3.1中,我们的.csproj文件被引用到Profile 328和我们的.nuspec文件中 lib\portable-net4+sl5+netcore45+wpa81+wp8+MonoAndroid1+MonoTouch1+XamariniOS1 对于Noda Time 2.0,我已经把所有的东西都转移到了DNX / DNU(当然很快就会成为dotnet cli)。 但是,我们现在希望构build一个定期更新的包含IANA最新时区信息的包。 我们将build立一个版本,依赖于Noda Time 1.3.1,另一个版本依赖于Noda Time 2.0.0。 我仍然希望在DNX / DNU内部完成所有这些工作,但是我不清楚是否有任何方法告诉DNX / DNU这个目标框架。 请注意,我想让这个1.3.1的所有当前用户都可以使用它,而且它也依赖于1.3.1,所以我相信目标框架的集合基本上是相同的。 我试过的框架: portable-net40 + sl5 + win8 + wpa81 + wp8(我希望基于Nuget文档有最好的工作机会) 便携式NET4 + SL5 + netcore45 + wpa81 + WP8 + MonoAndroid1 + MonoTouch1 + XamariniOS1 Profile328 在任何情况下, dnu restore显示这种forms的错误: “portable-net40 + sl5 […]
根据这个http://docs.nuget.org/docs/start-here/using-the-package-manager-console,我应该看到PM提示符,像get-packages这样的命令应该可以工作。 用我的VS2010软件包pipe理器控制台提示说 PS E:\myprojectfolder 并没有任何的命令工作 – 它发出一个错误说: PS E:\project> get-package -ListAvailable The term 'get-package' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is co rrect and try again. At line:1 char:12 + […]
我无法通过Nuget安装任何软件包。 例如,当我想要安装entity framework时,我收到以下错误: install-package EntityFramework Successfully installed 'EntityFramework 4.2.0.0'. Successfully uninstalled 'EntityFramework 4.2.0.0'. Install failed. Rolling back… Install-Package : Failed to add reference to 'EntityFramework'. At line:1 char:16 + install-package <<<< EntityFramework + CategoryInfo : NotSpecified: (:) [Install-Package], InvalidOperationException +FullyQualifiedErrorId:NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand 从控制台或GUI安装每个包时,我收到同样的错误。 重新安装nuget,禁用其他扩展,并以pipe理员身份运行VS没有帮助我。 问候
VS2013有一个错误的地方,即使你告诉它不要使用.tfignore ,NuGet会将这些软件包添加到待处理的更改中。 有一个解决方法 ,但它不适用于VS2015 / NuGet3,和NuGet回到它的老花样。 有没有“怒江”的解决方法? 🙂 Microsoft Connect项目: NuGet尽pipe.tfignore添加包到TFS