Hinzufügen zusätzlicher Dateien zum veröffentlichten MVC-API-Projekt

Ich versuche, einem Veröffentlichungsprozess eine zusätzliche XML-Datei hinzuzufügen. Ich habe ein MVC-API-Projekt, das auch ein anderes Projekt (V1.0) für Controller enthält. Wir verwenden die selbstdokumentierende Hilfefunktion, mit der die XML-Dateien für jedes Projekt erstellt werden. Beim Erstellen auf dem lokalen Computer funktioniert alles, aber beim Veröffentlichen (mit dem Assistenten) wird diese Datei nicht berücksichtigt.

Ich habe versucht, die Veröffentlichungsprofildatei (.pubxml) wie folgt zu aktualisieren:

http://www.asp.net/mvc/tutorials/deployment/visual-studio-web-deployment/deploying-extra-files

aber ohne Erfolg. Ich kann sehen, dass Folgendes passiert:

Ich mache eine Reinigung, um sicherzustellen, dass nichts herumhängt.Ich veröffentliche mit AssistentenIch kann in apiproject \ bin \ sehen, dass es alle Akten einschließlich die Dateien apiprojectv1 xml und dll gibtIch kann in apiproject \ obj \ x86 \ Release \ AspnetCompileMerge \ Source \ bin sehen, dass es die Dll apiprojectv1 aber nicht die XML-Datei hatIch kann das gleiche wie oben in apiprojet \ obj \ x86 \ Release \ AspnetCompileMerge \ TempBuildDir \ bin sehenIch kann das gleiche wie oben in apiproject \ obj \ x86 \ Release \ Package \ PackageTmp \ bin sehen

Ich bin nicht sicher, warum die Datei nicht kopiert wird. Dies ist meine vollständige Pubxml-Datei:

<?xml version="1.0" encoding="utf-8"?>
<!--
This file is used by the publish/package process of your Web project. You can customize     the behavior of this process
by editing this MSBuild file. In order to learn more about this please visit     http://go.microsoft.com/fwlink/?LinkID=208121. 
-->
<Project ToolsVersion="4.0"     xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <SiteUrlToLaunchAfterPublish />
    <publishUrl>\\myserver\wwwroot\apiproject</publishUrl>
    <DeleteExistingFiles>False</DeleteExistingFiles>
  </PropertyGroup>
  <Target Name="CustomCollectFiles">
        <ItemGroup>
          <_CustomFiles Include="..\bin\apiprojectv1.XML" />
          <FilesForPackagingFromProject Include="%(_CustomFiles.Identity)">
            <DestinationRelativePath>%(RecursiveDir)%(Filename)%(Extension)    </DestinationRelativePath>
          </FilesForPackagingFromProject>
        </ItemGroup>
  </Target>
</Project>

BEARBEITEN

Ich hatte einen großen Teil vergessen, das Folgende in die pubxml-Datei einzufügen:

 <PropertyGroup>
    <CopyAllFilesToSingleFolderForPackageDependsOn>
      CustomCollectFiles;
      $(CopyAllFilesToSingleFolderForPackageDependsOn);
    </CopyAllFilesToSingleFolderForPackageDependsOn>

    <CopyAllFilesToSingleFolderForMsdeployDependsOn>
      CustomCollectFiles;
      $(CopyAllFilesToSingleFolderForPackageDependsOn);
    </CopyAllFilesToSingleFolderForMsdeployDependsOn>
</PropertyGroup>

Ich erhalte die Datei nicht, erhalte aber jetzt eine Fehlermeldung, dass die Datei nicht gefunden wurde (die ich jetzt debuggen kann).

Antworten auf die Frage(1)

Ihre Antwort auf die Frage