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 sehenIch 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).