昨晚,在家里,我不使用代理,使用NuGetPowerTools/Enable-PackageRestore更新了NuGet存储库.工作得很好.
进入办公室,我在以下条件下使用相同的存储库:
<system.net><settings><ipv6 enabled="true" /></settings></system.net>
<system.net><defaultProxy useDefaultCredentials="true"><proxy autoDetect="True" usesystemdefault="True" /></defaultProxy></system.net>
以便DevEnv.exe回退到IE 9正在使用的相同连接设置.没有这样做.我得到的是这一切:
------ Build build:项目:XAct.Core,配置:调试任何CPU ------请提供代理凭证:UserName:密码:C:_Workspaces\XAct\CS.FF.XAct.Lib2.nuget\NuGet.targets(44,1):错误:无法读取密钥>当任一应用程序没有控制台或控制台输入已从文件重定向时.试试Console.Read.C:_Workspaces\XAct\CS.FF.XAct.Lib2.nuget\NuGet.targets(44,1):错误MSB3073:命令""C:_Workspaces\XAct\CS.FF.XAct.Lib2.nuget \nuget. exe"install"C:_Workspaces\XAct\CS.FF.XAct.Lib2\XAct.Core\XAct.Core\packages.config"-source"" - o"C:_Workspaces\XAct\CS.FF.XAct.Lib2\packages""退出代码1.
在网上的某个地方发现(但遗憾地再次丢失)一个线程,我看到NuGet开发人员将它扯出来 - 指的是从他们的TeamCity下载最新的版本(我无法访问/加入) - 但线程没有明确说出找到了!在底部.
谢谢.
我正在寻找有关如何在模块化非单片应用程序设计中使用ORM(在本例中为EF5)的建议,其中包含Core部分和第三方模块,其中Core没有直接引用第三方模块和模块仅引用Core/Common表和类.
为了论证,一个足够接近的类比将是DNN.
CodeFirst:
使用CodeFirst,我使用的方法是通过反射构建Db的模型:在Core的DbContext的DbInitialation阶段,我使用Reflection来查找任何用IDbInitializer(自定义)修饰的dll(例如Core或各种模块)中的任何类包含Execute()方法的契约,只定义dll的结构.每个dll都向DbModel添加了它自己知道的内容.任何后续的Seeding也在同一个wa中处理(搜索特定的IDbSeeder合同并执行它).
亲:*这种方法现在有效.*可以在所有存储库中使用相同的核心DbContext,只要每个存储库使用dbContext.GetSet(),而不是期望它是dbContext的属性.没什么大不了的.缺点:*它仅在启动时有效(即添加新模块需要AppPool刷新).*CodeFirst非常适合POC.但在EF5,它不够成熟的企业工作但(我不能等待EF6的StoredProcs和其他功能添加).*我的DBA讨厌CodeFirst,至少对于Core来说,希望尽可能多地使用Stored Procs来优化那个部分......我们是一个团队,所以我必须设法找到一种方法来取悦他,如果我能想办法...
数据库一:
DbModel阶段似乎发生在DbContext的构造函数之前(从嵌入的*.edmx资源文件中读取).永远不会调用DbInitialization(因为模型被认为是完整的),所以我不能添加比Core知道更多的表.
如果我不能动态地向模型添加元素,就像使用CodeFirst一样,这意味着*Core DbContext的模型必须知道Db - Core和每个第三方模块中的每个表.使应用程序单片和高度耦合,击败我想要实现的东西.*或者每个第三方必须创建自己的DbContext,导入Core表,导致*版本问题(模块在更新Core的*.edmx时不更新其*.edmx等等)*复制无处不在,在不同的内存环境中=难跟踪并发问题.
在这一点上,在我看来,CodeFirst方法是使用EF实现Modular软件的唯一方法.但希望其他人知道如何使DatabaseFirst大放异彩 - 有没有办法将DbSet'附加'到嵌入式*.edmx文件创建的模型中?
还是其他任何想法?