有一个神秘的问题。
每次发布我的VS项目时都会有一个远程文件被新版本覆盖。
这是我的Views / Shared文件夹中的局部视图。它肯定包含在项目中。
Build Action
是Content
(与文件夹中的所有其他文件一样)
Copy to Output Directory
是Do not copy
(与文件夹中的所有其他文件一样)
我已经检查了文件的权限,并且它是读/写,就像文件夹中的所有其他文件一样。
服务器上文件的日期/时间戳早于本地开发机器上的文件。
有可能在某个时候在服务器上手动编辑了该文件。这会影响事情吗?
根据此(未解决)问题中的建议...
Why won't visual studio include a file in publish output?
...我运行Build in Diagnostic模式,一切看起来都很好。我还搜索了远程服务器上的所有其他文件夹,以查看该文件的新版本是否可能已在其他地方结束。它没有。
我可以通过手动上传文件暂时解决问题,但此问题可能会重新出现在轨道上。此外,我不再100%确定所有其他文件都已发布。这是众所周知的痛苦。
这是我的.pubxml文件......
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>FTP</WebPublishMethod>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish>http://XXXXXX.com.au</SiteUrlToLaunchAfterPublish>
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<publishUrl>ftp://XXX.X.XXX.XX</publishUrl>
<DeleteExistingFiles>False</DeleteExistingFiles>
<FtpPassiveMode>True</FtpPassiveMode>
<FtpSitePath>XXXXXX.com.au\wwwroot</FtpSitePath>
<UserName>xxxxxxx</UserName>
<_SavePWD>True</_SavePWD>
</PropertyGroup>
</Project>
这是我的.SLN文件
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.24720.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CMS", "CMS\CMS.csproj", "{0EABB8B8-2784-4BBA-B2E8-5D7B4A302182}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{0EABB8B8-2784-4BBA-B2E8-5D7B4A302182}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0EABB8B8-2784-4BBA-B2E8-5D7B4A302182}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0EABB8B8-2784-4BBA-B2E8-5D7B4A302182}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0EABB8B8-2784-4BBA-B2E8-5D7B4A302182}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
感谢您的时间。
答案 0 :(得分:1)
首先尝试发布到本地文件夹,然后检查结果,修复任何问题。
还要在visual studio外的文本编辑器中检查您的解决方案/项目文件。在项目文件中找到部分视图参考并与其他项目进行比较,可能存在一些差异。如果安装了生产力电动工具,则可以直接在VS中编辑项目文件,并在解决方案资源管理器中选择卸载项目。
项目文件可能包含用于操作文件的后期构建事件,请检查您是否有任何文件。
发布配置文件(* .pubxml)可能有一些操作已发布文件的元素,如ExcludeFoldersFromDeployment。
由于您在服务器上手动修改了文件,因此部署可能会认为修改后的文件比发布的文件更新并跳过它。
设置
<DeleteExistingFiles>True</DeleteExistingFiles>
始终强制部署所有文件。