公開プロセスに XML ファイルを追加しようとしています。コントローラー用の別のプロジェクト (V1.0) もある MVC API プロジェクトがあります。各プロジェクトの .XML ファイルを作成する自己文書化ヘルプ機能を使用しています。ローカル マシンでビルドする場合はすべて機能しますが、(ウィザードを使用して) 公開する場合、このファイルは含まれません。
ここで説明されているように、発行プロファイル (.pubxml) ファイルを更新しようとしています。
http://www.asp.net/mvc/tutorials/deployment/visual-studio-web-deployment/deploying-extra-files
しかし、成功しませんでした。次のことが起こっていることがわかります。
- 何もぶら下がっていないことを確認するために、私はきれいにします。
- ウィザードで公開
- apiproject\bin\ には、apiprojectv1 xml および dll ファイルを含むすべてのファイルがあることがわかります
- apiproject\obj\x86\Release\AspnetCompileMerge\Source\bin に apiprojectv1 dll はあるが xml ファイルがないことがわかります
- apiprojet\obj\x86\Release\AspnetCompileMerge\TempBuildDir\bin で上記と同じことがわかります
- apiproject\obj\x86\Release\Package\PackageTmp\bin で上記と同じことがわかります
ファイルがコピーされない理由がわかりません。これは私の完全な pubxml ファイルです:
<?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>
編集
pubxml ファイルの最後に以下を配置するために、1 つの主要な部分を忘れていました。
<PropertyGroup>
<CopyAllFilesToSingleFolderForPackageDependsOn>
CustomCollectFiles;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForPackageDependsOn>
<CopyAllFilesToSingleFolderForMsdeployDependsOn>
CustomCollectFiles;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForMsdeployDependsOn>
</PropertyGroup>
ファイルを取得できませんが、ファイルが見つからないというエラーが表示されます (これでデバッグできます)。