2

我们有一个情况。我们公司在 .net 上构建了框架,供使用该框架开发的产品使用。现在这个框架首先使用 EF 代码。我们希望通过生成的迁移定义来实现 EF 代码迁移,因为我们的实体位于其中一个框架项目中。所以我已经实现了。但情况是我们将这个框架作为 Nuget 包(内部)分发给其他产品。

现在的情况是,假设ProductA正在使用包含 xyz.dll 的包,该包中启用了迁移。现在“ProductA”的开发人员想先使用那个 xyz.dll 迁移来升级由 Framework EF 代码创建的数据库,但是这个 dll 只是作为引用的 dll 添加的。因此,在像 Update-Database 这样的包管理器控制台中运行命令不起作用,因为项目不在当前解决方案中,并且它在参考 dll 中

我该如何解决这个问题?

4

1 回答 1

2

这实际上很容易解决,您添加 nuget 包的项目也需要引用 EF。

您实际上可以在具有依赖项的 nuget 包中强制执行此操作,例如:

    <dependencies>
        <dependency id="EntityFramework" version="4.2.0.0" />
    </dependencies>

在您的 nuspec 中(显然用您正在使用的版本更新版本)

请参阅:http ://docs.nuget.org/docs/reference/nuspec-reference#Specifying_Dependencies

http://docs.nuget.org/docs/reference/versioning#Specifying_Version_Ranges_in_.nuspec_Files

有关依赖语法如何工作的更多详细信息

于 2013-08-22T21:58:13.547 回答