gpt4 book ai didi

asp.net - 为什么我的项目引用没有被 Visual Studio 中的 Web 部署打包获取?

转载 作者:行者123 更新时间:2023-12-04 21:49:57 25 4
gpt4 key购买 nike

我有一个包含两个项目的 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="Path\To\Project.csproj"
    Targets="ResolveReferences;Package"
    Properties="Configuration=Release;DeployOnBuild=true;DeployTarget=Package;PackageLocation=Path\To\Output.zip" />

    注意 Targets="ResolveReferences;Package"。我从 Targets="Package"开始,但只有一半有效。

    显然,如果要获取从项目引用创建的程序集,则需要先调用 ResolveReferences。仅构建包不会这样做,并且您将丢失作为项目引用结果包含在项目输出中的任何程序集。

    关于asp.net - 为什么我的项目引用没有被 Visual Studio 中的 Web 部署打包获取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6782552/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com