Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架不将元数据嵌入dll 我想做什么_C#_Entity Framework_Msbuild_Teamcity_Embedded Resource - Fatal编程技术网

C# 实体框架不将元数据嵌入dll 我想做什么

C# 实体框架不将元数据嵌入dll 我想做什么,c#,entity-framework,msbuild,teamcity,embedded-resource,C#,Entity Framework,Msbuild,Teamcity,Embedded Resource,我目前有一个项目文件,其中包含一个EF 5模型,其中.edmx配置为将元数据嵌入到输出程序集中 如果我通过Visual Studio 2012运行本地包,则生成的程序集包含正确的资源。通过MSBuild手动运行包也会在程序集中正确嵌入资源: msbuild web.csproj /t:Package /p:Configuration=Release 手动检查Visual Studio或MSBuild包步骤生成的程序集时,可以确认该包包含.csdl、.ssdl和.msl资源 实际问题 我手头有一

我目前有一个项目文件,其中包含一个EF 5模型,其中.edmx配置为将元数据嵌入到输出程序集中

如果我通过Visual Studio 2012运行本地包,则生成的程序集包含正确的资源。通过MSBuild手动运行包也会在程序集中正确嵌入资源:

msbuild web.csproj /t:Package /p:Configuration=Release
手动检查Visual Studio或MSBuild包步骤生成的程序集时,可以确认该包包含.csdl、.ssdl和.msl资源

实际问题 我手头有一台运行Microsoft Windows server 2012和Visual Studio 2012的生成服务器。如果我通过Visual Studio 2012命令提示符手动运行MSBuild,并使用与上述相同的命令行,则生成的程序集不包含嵌入的资源

当我通过MSBuild执行自动包时,为什么没有嵌入EF元数据文件

简单的自包含的正确示例
可以找到一个演示解决方法的示例。该示例包含在
readme.txt

中重现错误所需的确切步骤使用您的示例,在安装的Windows 8+VS2012上,我能够使用package.bat生成包,并且所有生成的程序集都包含所有EF元数据文件。 在Readme.txt中,您提到了MSDeploy

4) 在项目上运行MSDeploy/t:package

从您的问题来看,您似乎对MSBuild有问题。 能否验证TestEntityEdmx\obj\Release中没有旧的TestEntityEdmx.Hackaround.dll。。。在我的帖子中,我的意思是(旧帖子没有反映出这一点),
SSCCE
解决方案的一个例子。
readme.txt
包含产生实际缺陷的实际指令。我重新运行了硬盘上的所有文件(在清理完所有
bin
obj
)后,它似乎已正确嵌入。似乎他们在最近的VS工具更新中已经解决了这个问题。