Visual Studio 2015在发布

时间:2016-09-27 02:36:28

标签: asp.net visual-studio visual-studio-2015

有一个神秘的问题。

每次发布​​我的VS项目时都会有一个远程文件被新版本覆盖。

这是我的Views / Shared文件夹中的局部视图。它肯定包含在项目中。

Build ActionContent(与文件夹中的所有其他文件一样)

Copy to Output DirectoryDo 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

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

首先尝试发布到本地文件夹,然后检查结果,修复任何问题。

还要在visual studio外的文本编辑器中检查您的解决方案/项目文件。在项目文件中找到部分视图参考并与其他项目进行比较,可能存在一些差异。如果安装了生产力电动工具,则可以直接在VS中编辑项目文件,并在解决方案资源管理器中选择卸载项目。

项目文件可能包含用于操作文件的后期构建事件,请检查您是否有任何文件。

发布配置文件(* .pubxml)可能有一些操作已发布文件的元素,如ExcludeFoldersFromDeployment。

由于您在服务器上手动修改了文件,因此部署可能会认为修改后的文件比发布的文件更新并跳过它。

设置

<DeleteExistingFiles>True</DeleteExistingFiles>

始终强制部署所有文件。