【问题标题】:Clean/Rebuild Solution Before Publishing To Azure在发布到 Azure 之前清理/重建解决方案
【发布时间】:2014-10-05 12:30:36
【问题描述】:

我有一个解决方案,其中包括带有 ASP.Net MVC 应用程序的松散耦合项目。我已将所有项目的输出设置为“MvcProject\bin”文件夹。因此,我需要先清理/重建解决方案,然后才能运行我的 Web 应用程序。问题是,当我将它发布到 Azure 或本地系统时,它不会包含所有项目 dll(及其依赖的 dll,它只会包含 MvcProject 及其依赖的 dll)。有什么方法可以告诉 VS(或 msbuild)清理/重建解决方案并包括所有相关的项目 dll,其输出设置为“MvcProject\bin”

【问题讨论】:

  • MSBuild 中的云项目递归地拉入 MvcProject 的所有依赖项。您可以将其他“松散耦合”项目添加到 MvcProject 的引用项目中吗?这将解决您的问题。
  • @SevaTitov,不,我不能。这是个问题。

标签: asp.net asp.net-mvc visual-studio azure msbuild


【解决方案1】:

这就是我所做的。首先将我所有的类库项目 csproj 文件 OutPath 编辑到,

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> 
    ..................................
    <OutputPath>bin\Debug\</OutputPath>
    ..................................


<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> 
    ..................................
    <OutputPath>bin\Release\</OutputPath>
    ..................................

接下来将这个添加到我的 MVC 应用程序 csproj 文件底部(&lt;/Project&gt; 之前),

  <Target Name="AfterBuild">
    <ItemGroup>
      <_CustomFiles Include="..\Project1\bin\$(Configuration)\**\*;..\Project2\bin\$(Configuration)\**\*" />
        ................................................................
    </ItemGroup>
    <Copy SourceFiles="@(_CustomFiles)" DestinationFiles="@(_CustomFiles->'bin\%(Filename)%(Extension)')" SkipUnchangedFiles="true" />
  </Target>

最后将这个添加到我的 Azure.pubxml(你可以在Properties/PublishProfiles)文件底部(&lt;/Project&gt; 之前),

  <Target Name="CustomCollectFiles">
    <ItemGroup>
         <_CustomFiles Include="..\Project1\bin\$(Configuration)\**\*;..\Project2\bin\$(Configuration)\**\*" />
            ................................................................
      <FilesForPackagingFromProject Include="%(_CustomFiles.Identity)">
        <DestinationRelativePath>bin\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
      </FilesForPackagingFromProject>
    </ItemGroup>
  </Target>
  <PropertyGroup>
    <CopyAllFilesToSingleFolderForPackageDependsOn>
      CustomCollectFiles;
      $(CopyAllFilesToSingleFolderForPackageDependsOn);
    </CopyAllFilesToSingleFolderForPackageDependsOn>
    <CopyAllFilesToSingleFolderForMsdeployDependsOn>
      CustomCollectFiles;
      $(CopyAllFilesToSingleFolderForPackageDependsOn);
    </CopyAllFilesToSingleFolderForMsdeployDependsOn>
  </PropertyGroup>

【讨论】:

    猜你喜欢
    • 2011-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-31
    • 1970-01-01
    • 2011-09-17
    • 2019-01-02
    相关资源
    最近更新 更多