在讨论NuGet时,我注意到我已经安装了几个软件包,EF和SQL Server CE。这提出了一些我无法找到任何信息的问题。
在EF软件包中添加的内容在VS中是不是已经存在,或者只是为您完成所有参考工作?
在SQL Server CE包上,添加安装它的内容是什么?或者这只是一种更好的安装方式。
设置环境确实需要很多,我喜欢NuGet用于其他软件包,但我不想破坏任何东西,除非从长远来看它最终会使我受益。任何评论,答案或轶事都会很棒。
答案 0 :(得分:3)
NuGet绝对是所有二进制引用甚至项目工具(如NUnit等)的前进方式。
我建议引入组合的EntityFramework.SqlServerCompact包。这将为每个二进制文件添加最新的二进制文件,并连接正确的提供程序工厂配置,并在App_Start文件夹中添加WebActivator以进行连接工厂初始化。 WebActivator在ASP.NET和Web窗体中都可以工作,但是在基于Web的项目中总是会导致编译错误,但这没什么大不了的。
答案 1 :(得分:0)
它添加的另一件事是,这些程序集现在是bin部署的,是解决方案的一部分。例如,如果您将packages文件夹作为项目的一部分提交,并且某人将其检出但未安装EF或SQLCE,则该项目仍将进行编译和工作。他们不需要去寻找MSI安装程序。
其次,如果你部署到GAC中没有这些DLL的服务器(大多数没有),那么你仍然可以,因为它们将被设置为“Copy Local to True”。