asp.net – 为什么我的项目引用不被Visual Studio中的Web部署包
我有一个包含两个项目的Visual Studio 2010解决方案:
> ASP.NET MVC 3 Web应用程序. MVC应用程序具有对类库的项目引用. 当我使用Visual Studio中的“构建部署包”选项来使用我的Web应用程序构建zip文件进行部署时,它不包含类库.因此,在部署之后,由于缺少程序集,我得到一个例外. 我已经验证项目引用设置为“Copy Local = true”.在构建和调试站点时,工作正常,类库位于bin文件夹中.只有在构建部署包时才会丢失它. 如果我从项目引用切换到直接程序集引用,指向bin / Debug / ClassLibrary.dll文件,该程序包将正确构建并包含类库.我只看到它是项目参考时的问题. 如何将类库作为项目引用以正确包含在Web应用程序包中? 解决方法
如果你从VS.NET进行部署,我不知道如何解决这个问题,但我确实从MSBuild脚本中找到了解决方法.
在MSBuild中为.csproj创建MSDeploy / WebDeploy .zip包的基本语法如下: <MSBuild Projects="PathToProject.csproj" Targets="ResolveReferences;Package" Properties="Configuration=Release;DeployOnBuild=true;DeployTarget=Package;PackageLocation=PathToOutput.zip" /> 注意Targets =“ResolveReferences; Package”.我从Targets =“Package”开始,但只有一半有效. 显然,如果要获取从项目引用创建的程序集,则需要首先调用ResolveReferences.只是构建包不会这样做,并且您将缺少作为项目引用的结果包含在项目输出中的任何程序集. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET Web API v2并使用E??LMAH记录所有错误/异常
- ASP.NET WebApi 自带Json返回日期带T无法格式化的问题
- asp.net – SQL Server 2008中的Bool类型
- asp.net-mvc – Cookie过期或会话超时太早
- asp.net-web-api2 – 如何在ActionFilter之后,在Action之前
- asp.net – Internet Explorer 8超时太快页面POSTs
- 更改JqGrid列的顺序
- asp.net – FederatedAuthentication.WSFederationAuthenti
- asp.net-core – 修改中间件响应
- asp.net-mvc-3 – 如何让IIS Express使用64位第三方DLLS启动