场景优先:-
我正在使用实体框架进行一些查询,为了构建我的模型,我在MVC3项目中尝试使用DevArt Entity Developer。我构建应用程序,将其上传到SVN,然后由持续集成服务器使用MSDeploy进行构建和部署。
然而,由于某些原因,部署似乎出现了问题,因为MSDeploy需要在部署文件之前提前了解文件,这意味着'.csdl', '.ssdl', or '.msl'文件没有部署到远程计算机。
System.Data.MetadataException: Unable to load the specified metadata resource.现在,如果将EmbedInOutputAssembly中的DevArt设置为CopyToOutputDirectory,则web.config文件将更改表单
<add name="jcps01EntitiesConnectionString" connectionString="metadata=res://*/Models.jcps01.csdl|res://*/Models.jcps01.ssdl|res://*/Models.jcps01.msl;provider=System.Data.SqlClient;provider connection string="Data Source=XXXXX;Initial Catalog=jcps01;Integrated Security=False;Persist Security Info=True;User ID=XXXXX;Password=XXXXX""
至
<add name="jcps01EntitiesConnectionString" connectionString="metadata=~/bin/Models/jcps01.csdl|~/bin/Models/jcps01.ssdl|~/bin/Models/jcps01.msl;provider=System.Data.SqlClient;provider connection string="Data Source=XXXXX;Initial Catalog=jcps01;Integrated Security=False;Persist Security Info=True;User ID=XXXXX;Password=XXXXX"" providerName="System.Data.EntityClient" />
然而,这也带来了它自己的一组问题,第一个问题是应用程序不会创建Models文件夹,它只是创建文件/bin/Models.jcps01.msl,当然,由于文件不包括在项目/解决方案中,MSDeploy不会部署它:
以前有没有人在DevArt中成功地使用过MSDeploy ?如果是这样的话,你是否必须在你的解决方案中对要复制到输出目录的文件进行任何修改,等等?
发布于 2012-07-02 23:44:35
这是因为构建服务器没有安装DevArt Entity Developer,通常部署.cs文件就足够了,但在DevArt的情况下,我们还需要在构建服务器上安装他们的工具。
安装完成后,一切都开始正常工作(即生成映射文件并自动添加到程序集文件中)。
令人惊讶的是,MSBuild没有抛出任何关于没有此应用程序或无法读取外来文件格式的错误。
https://stackoverflow.com/questions/11233154
复制相似问题