繁体   English   中英

VS2012:使用 InstallShield 时,我的实体框架模型未包含在我的项目输出中

[英]VS2012: My Entity Framework model doesn´t get included to my project output using InstallShield

我最近被要求为使用实体框架与数据库进行通信的 Windows 窗体应用程序创建安装程序。 如果最终用户的计算机上不存在数据库,我修改了我的程序以创建数据库,因此它应该可以正常工作。 问题是,我正在为 Visual Studio 2012 使用 installshield,在构建我的安装程序后,在安装目录中只生成了 2 个文件:

MyProgram.exe & MyProgram.exe.config

问题是,我认为还应该包含一个EntityFramework.dll文件才能使程序正常工作,但显然 Visual Studio 不想包含它。 我尝试了一切。 我单击了 EF 模型的属性并选择了“复制到输出”或“如果较新则复制”,然后什么也没有。 我还尝试更改我的 .edmx 文件的属性,我将 Build Action: None 切换到 Build Action: Compile...但在那之后,我的整个程序甚至无法构建! 它抛出了以下错误:

A namespace cannot directly contain members such as fields or methods   

在双击错误以检查它发生的位置后,它在代码中打开了 EDMX 文件,显然希望我在它的开头添加一个命名空间......但这整个事情看起来像 XML......那么为什么会这样问我要一个命名空间?

我想要做的就是将我的实体框架模型添加到我的主要输出中,但没有任何效果。 或者它至少不会出现在 installshield 中。 我知道我可以从我的项目/bin 中的调试或发布文件夹中手动添加“EntityFramework.dll”文件,但这感觉不对。 我应该这样做,还是没有将我的实体模型添加到我的项目输出中的原因? 或者为什么当我尝试从 None->Compile 切换编译选项时,我的 EDMX 文件会引发命名空间错误???

请帮助伙计们...我知道这是一个愚蠢的错误,但我想要的是复制我的实体模型在另一台 PC 上工作所需的文件(据我所知,我只需要那个 EntityFramework.dll,也许EntityFramework.xml)。 帮助?

我想要做的就是将我的实体框架模型添加到我的主要输出中,但没有任何效果。 或者它至少不会出现在 installshield 中。 我知道我可以从我的项目/bin 中的调试或发布文件夹手动添加“EntityFramework.dll”文件,但这感觉不对

在您的 installshield 项目中(当然与您的项目在同一个解决方案中),您确实应该看到它所依赖的项目的 primary.output。 如果没有,请右键单击 IS 项目 -> 项目依赖项 -> 并手动检查。

从 te IS 项目树中,它可以在“2) 指定您的应用程序数据”->“文件”中找到,其中 zou 可以指定安装目录的物理组织和内容。

在 .primary.output -> 右键单击​​ -> 构建时扫描的依赖项 -> 您应该看到所有自动检测到的依赖项的列表,启用/禁用您想要的......它对我来说是这样的。 请注意,之前需要构建。

如果 dll 不在列表中,您也可以将其放在左侧的安装目录树中,该文件也会被嵌入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM