问题描述
|
我有某些文件夹要保留在项目中,但不包括在发布中。
那可能吗?
解决方法
Michael是完全正确的,通过编辑.csproj文件,您可以手动将文件/文件夹从发布中排除。
如果您不想弄乱.csproj文件,一种更简单的方法是在VS解决方案资源管理器中突出显示该文件。在属性面板下,将构建到操作从\'内容\'更改为\'无\'。
这样,您不必从解决方案中卸载项目,加载.csproj并为您添加的每个不需要发布的新文件添加一行,而是只需单击3次即可实现。
(假设您已在“发布”标签下设置了“仅运行该应用程序所需的发布文件”)
,如果它是一个网站项目,则可以按如下所示排除某些文件夹和/或文件(请参阅元素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文件中执行“查找并替换”,以快速从发布/部署过程中删除特定文件夹
像这样
<Content Include=\"Uploads/
至
<None Include=\"Uploads/
,您可以执行的另一种方法是,您可以在Windows资源管理器中隐藏不需要发布的文件夹(不是最佳解决方案,但是如果您有大量需要在开发框中的图像集,则可以使用)。
,卸载项目,
右键单击编辑* .csproj,
添加:
<ItemGroup>
<Content Update=\"Data\\CernainFolder\\*.*\">
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
</Content>
</ItemGroup>
重新加载项目。
这应该很好
,由于问题是用ASP标记的,因此没有任何“ 4”文件可弄乱。 VS2015中提供了另一个有用的文件:“ 5”。 Asp.Net上有关排除文件和文件夹的文章提到了.wpp.targets
文件。
所有这些文件都包含<ItemGroup>
元素,其中可能包含诸如<ExcludeFromPackageFolders>
的元素。正如这些似乎已记录在案的功能一样,只需使用它们,不要对黑客入侵或“弄乱”感到内gui。对我而言,使用该链接的简单说明和website.publishproj
文件将目录排除在外就像一个魅力!