加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 为什么我的项目引用不被Visual Studio中的Web部署包

发布时间:2020-12-16 07:44:32 所属栏目:asp.Net 来源:网络整理
导读:我有一个包含两个项目的Visual Studio 2010解决方案: ASP.NET MVC 3 Web应用程序. 一个类库. MVC应用程序具有对类库的项目引用. 当我使用Visual Studio中的“构建部署包”选项来使用我的Web应用程序构建zip文件进行部署时,它不包含类库.因此,在部署之后,由
我有一个包含两个项目的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.只是构建包不会这样做,并且您将缺少作为项目引用的结果包含在项目输出中的任何程序集.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读