我正在尝试做的事情
我目前有一个项目文件,其中包含单个 EF 5 模型,其 .edmx 配置为将元数据嵌入到输出程序集中。
如果我通过 Visual Studio 2012 运行本地包,则生成的程序集包含正确的资源。通过 MSBuild 手动运行包也会正确地将资源嵌入程序集中:
msbuild web.csproj /t:Package /p:Configuration=Release
当我使用dotPeek手动检查 Visual Studio或MSBuild 包步骤生成的程序集时,我可以确认该包包含 .csdl、.ssdl 和 .msl 资源。
实际问题
我手头有一个运行 Microsoft Windows Server 2012 和 Visual Studio 2012 的构建服务器。如果我通过 Visual Studio 2012 命令提示符手动运行 MSBuild,使用与上面相同的命令行,则生成的程序集不包含嵌入的资源。
当我通过 MSBuild 执行自动化包时,为什么没有嵌入我的 EF 元数据文件?