我无法让EF安装在我称为"匹配"的非常简单的项目上(刚刚学习MVC,迟到总比没有好).这里的一般上下文是我创建了只有2个字段的Model类,现在我想更改Model类以获得更多的字段/属性.我已在Model类中进行了更改,现在正尝试更新DB以进行匹配.我试图使用EF的Update-Database来做到这一点.
PM> install-package EntityFramework您正在从Microsoft下载EntityFramework,其许可协议可从http://go.microsoft.com/fwlink/?LinkId=253898&clcid=0x409获取.检查软件包是否有其他依赖关系,这可能与他们自己的许可协议一起提供.您对软件包和依赖项的使用即表示您接受其许可协议.如果您不接受许可协议,请从设备中删除相关组件.已成功安装'EntityFramework 5.0.0'.成功将"EntityFramework 5.0.0"添加到Match.
输入"get-help EntityFramework"以查看所有可用的Entity Framework命令.
PM>启用 - 迁移Get-Package:找不到与参数名称"ProjectName"匹配的参数.在C:\ Users\Dave\Documents\Visual Studio 2010\Projects\Match\packages\EntityFramework.5.0.0\tools\EntityFramework.psm1:611 char:40 + $ package = Get-Package -ProjectName <<<< $ project.FullName | ?{$ _.Id -eq'EntityFramework'} + CategoryInfo:InvalidArgument:(:) [Get-Package],ParameterBindingException + FullyQualifiedErrorId:NamedParameterNotFound,NuGet.PowerShell.Commands.GetPackageCommand
项目"匹配"上未安装EntityFramework包.
我正在使用Nuget来创建包.我想创建一个包,其中不包含.nuspec任何其他NuGet包的依赖(在)文件中.我的项目确实在其packages.config文件中定义了NuGet包依赖项.
首先我创建.nuspec文件...
C:\code\MySolution>.nuget\nuget.exe spec MyProject\MyProject.csproj
Run Code Online (Sandbox Code Playgroud)
我将生成的.nuspec文件编辑为最小,没有依赖项.
<?xml version="1.0"?>
<package >
<metadata>
<id>MyProject</id>
<version>1.2.3</version>
<title>MyProject</title>
<authors>Example</authors>
<owners>Example</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Example</description>
<copyright>Copyright 2013 Example</copyright>
<tags>example</tags>
<dependencies />
</metadata>
</package>
Run Code Online (Sandbox Code Playgroud)
然后我构建解决方案并创建一个NuGet包......
C:\code\MySolution>.nuget\nuget.exe pack MyProject\MyProject.csproj -Verbosity detailed
Run Code Online (Sandbox Code Playgroud)
这是该命令的输出......
Attempting to build package from 'MyProject.csproj'.
Packing files from 'C:\code\MySolution\MyProject\bin\Debug'.
Using 'MyProject.nuspec' for metadata.
Found packages.config. Using packages listed as dependencies
Id: MyProject
Version: 1.2.3
Authors: Example
Description: Example
Tags: example
Dependencies: Google.ProtocolBuffers (= 2.4.1.473)
Added file 'lib\net40\MyProject.dll'.
Successfully …Run Code Online (Sandbox Code Playgroud) 我将在这里提出几个问题...首先,使用NuGet可以从几个DLL创建一个包吗?没有visual studio项目,只有命令行和一些预编译的DLL文件.
第二,假设这是可能的,为什么我不断得到"lib文件夹之外的程序集"警告?我已经尝试了所有我能想到的关联程序集将自己添加为NuGet包内的引用.
我的文件结构如下所示
Root
- File1.dll
- lib
- File2.dll
- File3.dll
Run Code Online (Sandbox Code Playgroud)
当我告诉NuGet使用像这样的.nuspec打包它
<?xml version="1.0"?>
<package >
<metadata>
<id>File1.dll</id>
<version>1.0.0</version>
<authors>thisguy</authors>
<owners>thisguysmom</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>This is some library</description>
<releaseNotes>Porting to NuGet</releaseNotes>
<copyright>Copyright 2012</copyright>
<references>
<reference file="File2.dll" />
<reference file="File3.dll" />
</references>
</metadata>
</package>
Run Code Online (Sandbox Code Playgroud)
我收到了警告.从我正在阅读的内容来看,我甚至不必在任何项目中定义引用节点,因为lib文件夹项应该自动添加为引用?
有没有人了解这个NuGet一塌糊涂?
我在我的项目中安装了一个软件包版本,但在测试期间我发现了它的问题.我尝试了显而易见的事情,Update-Package -Id Foo.Bar -Version 1.0.0 -Force但Update-Package cmdlet没有-Force参数,并且它不允许更新早期版本.如何降级我的包依赖项(不使用源代码控制!)
注意:此问题现在无关紧要,因为Update-Package MyPackage -Version [an earlier version]在最新版本的NuGet软件包管理器中开箱即用.你甚至不需要-Force开关.
我正在尝试将.net核心2.1项目升级到最新版本的Nuget软件包,例如Microsoft.Extensions.DependencyInjection.Abstractions 2.1.1.
但是这被包引用Microsoft.NETCore.App阻止,当我尝试升级"meta"包Microsoft.NETCore.App时,我看到"被项目阻塞"类似于这个问题.通过切换到较新版本的SDK解决了这个问题,但这不是一个选项...因为没有更新版本的SDK(还是?).
我也看到了通过使用Update包引用手动编辑.csproj文件来升级特定包的答案,但我怀疑这是实现此目的的预期方法.
如何应我去呢?现在我只是手动包含我实际使用的包引用并删除了元包,但我无法想象这是打算如何实现的.
在我的解决方案中将Slow Cheeath(v.2.5.10.3)安装到两个项目之后,我收到以下错误:
"The "SlowCheetah.Xdt.TransformXml" task could not be loaded from the assembly C:\Users
\User\AppData\Local\Microsoft\MSBuild\SlowCheetah\v2.5.10.2\SlowCheetah.Xdt.dll. Could
not load file or assembly 'file:///C:\Users\User\AppData\Local\Microsoft\MSBuild
\SlowCheetah\v2.5.10.2\SlowCheetah.Xdt.dll' or one of its dependencies. The system cannot
find the file specified. Confirm that the <UsingTask> declaration is correct, that the
assembly and all its dependencies are available, and that the task contains a public
class that implements Microsoft.Build.Framework.ITask. ISA.IMPD.FalseAlarm.Web.Portal"
Run Code Online (Sandbox Code Playgroud)
我已完全删除了两个项目(与Slow Cheetah一起),重新安装了两个项目(以及Slow Cheetah),并重建解决方案无济于事.任何人都可以帮助解决这类错误吗?
dependencies assembly-resolution nuget-package slowcheetah visual-studio-2012
我想使用我的浏览器下载一些.nupkg文件
在nuget.org中,没有指向.nupkg文件的链接
谢谢
Visual Studio 2013中的ASP.NET(Web窗体)项目模板包含多个包.我试图找出哪些是必要的(可能需要为此创建一个单独的问题).http://blogs.msdn.com/b/webdev/archive/2013/10/16/asp-net-features-in-new-project-templates-in-visual-studio-2013.aspx上的帖子解释了其中一些的目的,但我无法弄清楚Antlr需要什么.有人可以澄清吗?
我们有两个解决方案:foo.sln和bar.sln
我有一个foo和bar都使用的公共库.两者都使用Common.csproj.
如果我打开foo并更新nuget引用,Common.csproj中的所有引用都指向foo/packages /.如果我稍后打开bar并更新nuget引用,则所有引用都将设置为bar/packages /中的引用.当然,这会让foo团队感到愤怒,因为它会导致Common.csproj和Foo特定的东西之间不兼容,比如Foo.Data.csproj,它仍然指向foo/packages.
必须有一些明显的解决方案,除了:"创建一个包含所有项目的巨大解决方案,如果你需要触摸nuget,只能从该解决方案中做到."
在codeplex上似乎存在一个问题,(顺便提一下,这是最高投票的问题),但显然我太过于无法理解这个问题是如何解决的.有人可以解释如何解决这个问题吗?
我正在尝试发布和使用版本化的类库的NuGet包,同时避免了本地开发的麻烦.以下是Visual Studio解决方案布局示例:
| Libraries
| LibraryA
| LibraryB
| LibraryC
| Applications
| ApplicationD
| ApplicationE
Run Code Online (Sandbox Code Playgroud)
这是一个包含共享类库和多个应用程序的单一解决方案.目前,应用程序对类库的引用是本地解决方案引用.
我想要做的是将库(A,B,C)发布为版本化的NuGet包,然后由应用程序根据需要引用它们(D,E).这允许对共享库的更改独立于对已部署的应用程序的更新.如果没有这个,更改一个库可能会导致二进制文件在十几个或更多应用程序中发生变化,所有这些都在技术上需要进行测试.这是不可取的,使用NuGet进行版本控制可以解决这个问题.
但是,我们要说我想同时更新LibraryA和ApplicationD的内容.为了在切换到NuGet之后执行此操作,我将不得不对LibraryA进行更改,提交它们,等待创建包,告诉ApplicationD更新其对LibraryA的引用,然后在ApplicationD中进行测试或开发.这比使用本地解决方案引用同时处理两者要复杂得多.
有什么更好的方法来获得我的共享类库的版本化NuGet包的健壮性,同时即使它跨越多个项目和应用程序也保持开发简单?我发现的唯一其他解决方案都涉及太多开销或头痛,例如不得不在NuGet包和本地项目之间不断更改ApplicationD的引用.
编辑:为了澄清前提,这个问题假设如下:
nuget-package ×10
nuget ×7
dependencies ×2
.net-core ×1
antlr ×1
asp.net ×1
asp.net-mvc ×1
c# ×1
console ×1
nuspec ×1
package ×1
powershell ×1
sdk ×1
slowcheetah ×1
updates ×1