プロジェクトには保持したいが、公開には含めない特定のフォルダーがあります。
それは可能ですか?
Michael は完全に正しい。csprojファイルを編集することにより、ファイル/フォルダーを手動で公開対象から除外できます。
.csprojファイルを使いたくない場合の簡単な方法の1つは、VSソリューションエクスプローラー内でファイルを強調表示することです。プロパティパネルで、ビルドからアクションを「コンテンツ」から「なし」に変更します。
この方法では、ソリューションからプロジェクトをアンロードする必要はありません。
(公開タブで[このアプリケーションの実行に必要なファイルのみを公開する]を設定したと仮定します)
Webサイトプロジェクトの場合、次のように特定のフォルダーやファイルを除外できます(要素を参照してくださいExcludeFoldersFromDeploymentおよびExcludeFilesFromDeployment):
<?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>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>True</ExcludeApp_Data>
<publishUrl>D:\YAZILIM\Adopen.2015\PreCompiledWeb</publishUrl>
<DeleteExistingFiles>True</DeleteExistingFiles>
<PrecompileBeforePublish>True</PrecompileBeforePublish>
<EnableUpdateable>True</EnableUpdateable>
<DebugSymbols>False</DebugSymbols>
<WDPMergeOption>MergeAllOutputsToASingleAssembly</WDPMergeOption>
<UseMerge>True</UseMerge>
<SingleAssemblyName>AdoIntranet</SingleAssemblyName>
<ExcludeFoldersFromDeployment>customobjects;uploads</ExcludeFoldersFromDeployment>
<ExcludeFilesFromDeployment>app.config</ExcludeFilesFromDeployment>
</PropertyGroup>
</Project>
Web.cspojファイルで「検索と置換」を実行して、特定のフォルダーをpublish/deploymentプロセスからすばやく削除できます。
そのようです;
<Content Include="Uploads/
に
<None Include="Uploads/
別の方法としては、Windows Explorerで公開する必要のないフォルダーを非表示にすることができます(最適なソリューションではありませんが、開発ボックスに必要な画像の大規模なセットがある場合は機能します)。
<ItemGroup> <Content Update="Data\CernainFolder\*.*"> <CopyToPublishDirectory>Never</CopyToPublishDirectory> </Content> </ItemGroup>
これはうまく機能するはずです
質問にはASPのタグが付けられているため、混乱する.proj
ファイルはありません。 VS2015では、代わりに別の便利なファイルがあります:website.publishproj
。 ファイルとフォルダの除外に関するこのAsp.Netの記事 は.wpp.targets
ファイルについて言及しています。
これらのファイルにはすべて<ItemGroup>
要素が含まれており、<ExcludeFromPackageFolders>
などの要素が含まれている場合があります。これらは文書化された機能のように見えるので、それらを使用するだけで、ハッキングや「いじり」に対して罪悪感を抱かないでください。私にとっては、そのリンクの簡単な指示とwebsite.publishproj
ファイルを使用してディレクトリを除外することは魅力的でした!