【问题标题】:The Entity Framework resource files are not built as part of the build script实体框架资源文件不作为构建脚本的一部分构建
【发布时间】:2012-12-07 18:35:46
【问题描述】:

我有一个构建 ASP.NET Web 应用程序项目的批处理文件,但它没有在核心编译过程中接收实体框架资源文件。

构建脚本是:

set proj_name=MyProject
set proj_path=C:\...\path-to-project\
set pkg_name=MyProject.zip
set build_config=Release
set platform=AnyCPU
set msbuild=%windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe

%msbuild% "%proj_path%%proj_name%.csproj"  /t:package /p:OutPath="%proj_path%obj" /p:OutputPath="%proj_path%bin" /p:Configuration=%build_config% /p:Platform=%platform%

虽然脚本完成且没有错误,但 Web 应用程序崩溃并出现 Unable to load the specified metadata resource 错误。

但如果我执行Visual Studio Publish,一切正常。所以这让我去研究我的构建输出。

在仔细比较了Visual Studio Publish 输出和我的构建脚本输出后,我发现在CoreCompile 部分,我的构建脚本输出中缺少csdimslssdl 文件。但是这些文件存在于文件系统中,并且是SolutionProject 的一部分。所以我不确定为什么在构建过程中不包含它们。下面是构建输出的一部分:

Visual Studio 发布输出:

/debug:pdbonly /optimize+ /out:obj\Release\Dnr.MotorPool.dll 
/resource:obj\Release\edmxResourcesToEmbed\DataAccess\MyDataModel.csdl,DataAccess.MyDataModel.csdl 
/resource:obj\Release\edmxResourcesToEmbed\DataAccess\MyDataModel.msl,DataAccess.MyDataModel.msl 
/resource:obj\Release\edmxResourcesToEmbed\DataAccess\MyDataModel.ssdl,DataAccess.MyDataModel.ssdl 
/target:library 
/utf8output all the cs files...

我的构建脚本输出:

/debug:pdbonly /optimize+ /out:obj\Release\Dnr.MotorPool.dll 
/target:library 
/utf8output all the cs files...

很明显,缺少 3 个文件。那我该如何修改我的构建脚本呢?

【问题讨论】:

  • 试试/t:ResolveReferences;package
  • @KMoraz,我将构建脚本更改为%msbuild% "%proj_path%%proj_name%.csproj" /t:ResolveReferences;package /p:OutPath="%proj_path%obj" /p:OutputPath="%proj_path%bin" /p:Configuration=%build_config% /p:Platform=%platform%,但丢失的文件仍然丢失。
  • @KMoraz,我通过在另一篇文章中使用您的建议 (/t:rebuild:package) 让它工作了。 stackoverflow.com/questions/9633408/…

标签: visual-studio entity-framework msbuild visual-studio-2012


【解决方案1】:
%msbuild% "%proj_path%%proj_name%.csproj" /T:Rebuild;Package

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-16
    • 2010-11-24
    • 2013-11-09
    • 1970-01-01
    相关资源
    最近更新 更多