使用 Visual Studio 2013 發佈時如何排除 web.config?
在 Visual Studio 2013 中使用“發佈網站”功能時。如何排除發布 web.config 以使其不會覆蓋伺服器 web.config?
除了 VS 版本之外,該問題與以下問題相同。
使用 Visual Web Developer Express 發佈時如何排除 web.config?
但是,它的解決方案不適用於 VS2013。在 VS2013 中找不到“建構操作”選項。並且設置“ExcludeFilesFromDeployment”會導致編譯問題。
只需選擇 web.config 屬性並將“建構操作”更改為“無”並將“複製到輸出目錄”更改為“不複製”
我知道這是一篇舊文章,有舊答案,但對我來說,兩種描述的解決方案都是錯誤的。
Web.config 風格在操作環境憑據時會引發安全風險,並且“Build Action”=“None” 解決方案破壞了在本地調試項目的可能性,因為 Web.Config 文件永遠不會出現在“bin”目錄中.
更清潔的解決方案是這裡描述的:
<https://docs.microsoft.com/fr-fr/aspnet/web-forms/overview/deployment/advanced-enterprise-web-deployment/excluding-files-and-folders-from-deployment>
這基本上是創建一個ProjectName .wpp.targets 文件,其中包含發布項目時要排除的文件/文件夾列表。
要從名為Blog的項目中刪除Web.config ,您需要創建一個名為Blog.wpp.targets的文件,其內容如下:
文件:
Blog.wpp.targets<?xml version="1.0" encoding="utf-8" ?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup> <ExcludeFromPackageFiles Include=".\Web.config"> <FromTarget>Blog.wpp.targets</FromTarget> </ExcludeFromPackageFiles> </ItemGroup> </Project>無需更改項目或 .csproj 文件中的任何內容。