2016-09-27 13 views
0

不思議な問題があります。Visual Studio 2015は公開中に1つのファイルが欠けています

VSプロジェクトを公開するたびに新しいバージョンで上書きされないリモートファイルが1つあります。

私のビュー/共有フォルダの一部です。それは間違いなくプロジェクトに含まれています。

Build Action

Copy to Output Directoryは(フォルダ内の他のすべてのファイルのように)Do not copyです(フォルダ内の他のすべてのファイルと同じように)Contentある

私は、ファイルのアクセス権をチェックしました、それは読み取り/書き込みですフォルダ内の他のすべてのファイルと同様です。

サーバー上のファイルの日付/時刻スタンプは、ローカルのローカルマシンよりも古いです。

このファイルは、ある時点でサーバー上で手動で編集されている可能性があります。これは事に影響を及ぼしますか?この(未解決)質問...

Why won't visual studio include a file in publish output?

での提案を1として

...私は診断モードでビルドを実行し、すべてが正常に見えました。また、リモートサーバー上の他のすべてのフォルダを検索して、ファイルの新しいバージョンが別の場所にあるかどうかを確認しました。それはなかった。

ファイルを手動でアップロードすることで問題を一時的に解決できる可能性がありますが、この問題はトラックを再現する可能性があります。プラス私はもはや100%他のすべてのファイルが公開されていると確信していません。これは、諺の痛みです。ここで

は私の.pubxmlファイルはここに私の.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 

おかげだ...

<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> 

です。

答えて

1

まずローカルフォルダに公開し、結果を確認して問題を解決してください。

また、ソリューション/プロジェクトファイルは、Visual Studio以外のテキストエディタでも確認してください。プロジェクトファイル内の部分ビュー参照を見つけ、他のアイテムと比較してください。多少の違いがあります。生産性向上ツールをインストールしている場合はVSでプロジェクトファイルを直接編集し、ソリューションエクスプローラでプロジェクトをアンロードすることもできます。

プロジェクトファイルには、ファイルを操作するポストビルドイベントが含まれている可能性があります。

公開プロフィールファイル(* .pubxml)には、ExcludeFoldersFromDeploymentのような公開ファイルを操作する要素が含まれている場合があります。

サーバー上でファイルを手動で変更したため、deployは変更されたファイルが公開されているファイルより新しいと判断し、スキップします。常にすべてのファイルを展開

<DeleteExistingFiles>True</DeleteExistingFiles> 

力を設定

+0

ありがとうございます。 上記の質問に.pubxmlファイルと.slnファイルを追加しました。 私はローカルフォルダに公開しました。問題のファイルは正常に公開されました。しかし、私が手作業で編集したファイルを再び上に再出版したとき、私の手作業による編集はまだ残っていました。おそらく、これは標準的な動作で、ファイルがあて先フォルダにまだ存在しない場合にのみ公開されますか?これが事実ならば、本当に悪いことでしょう。 – clayRay

+0

Trueを設定する必要があると思います。 – apr

+0

これは、「公開する前に既存のファイルをすべて削除する」ことです。正確には私が後にしたものではありませんが、それはしなければならないと思います。私はちょうどクライアントが自分のファイルのいくつかを追加しているかもしれない "コンテンツ"フォルダを除外する必要があります。 ありがとうございました! – clayRay

関連する問題