MS Visual Studio:如何从发布中排除某些项目文件夹?
我有一些我想保留在项目中的文件夹,但不包括在发布中。
那可能吗?
迈克尔是完全正确的,通过编辑.csproj文件,您可以手动排除文件/文件夹发布。
一个简单的方法,如果你不想混乱.csproj文件是突出VS解决scheme资源pipe理器内的文件。 在属性面板下,将构build从“内容”更改为“无”。
这样,您不必从解决scheme中卸载该项目,加载.csproj,并添加一个行,为每个新增的文件,不需要发布,但实现相同的3鼠标点击。
(假设你已经在发布标签下设置了“只发布运行这个应用程序所需的文件”)
这似乎是可能的。 请检查Web部署:通过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>
你可以做的另一种方法是你可以隐藏不需要被发布的Windows资源pipe理器中的文件夹(不是最好的解决scheme,但如果你有大量的图像,仍然需要在开发框中工作)。
您可以在Web.cspoj文件中执行“查找和replace”以快速消除发布/部署过程中的特定文件夹
像这样;
<Content Include="Uploads/
至
<None Include="Uploads/
由于问题用ASP标记,没有.proj
文件混乱。 有了VS2015,还有另外一个有用的文件: website.publishproj
。 这个排除文件和文件夹的Asp.Net文章提到了.wpp.targets
文件。
所有这些文件都包含<ItemGroup>
元素,可能有像<ExcludeFromPackageFolders>
这样的元素。 由于这些似乎有文件logging的function,只要使用它们,不要因为黑客或“混乱”而感到内疚。 对于我来说,使用该链接的简单说明和website.publishproj
文件不包括一个目录工作就像一个魅力!