Публикация [части] приложения ASP.NET MVC Core на веб-хостинге - PullRequest
0 голосов
/ 16 ноября 2018

Ситуация такова, что я могу успешно опубликовать свое приложение в режиме реального времени на веб-хосте с помощью опции публикации Visual Studio 2018 FTP, и оно правильно подключается и публикует его, а изменения видны.

Однако на сервере хранятся несколько папок, содержащих несколько аудиофайлов, поэтому каждый раз, когда я публикую аудиофайлы, они удаляются и затем публикуются повторно. Процесс не только слишком длинный, но и избыточный. А поскольку ASP.NET Core преобразует приложение в dll-файлы, это быстрее на стороне клиента, но публикация изменений - это кошмар, так как все файлы должны быть удалены, включая звуковую папку, и повторно загружены.

Файл csproj выглядит следующим образом:

    <Project Sdk="Microsoft.NET.Sdk.Web">

      <PropertyGroup>
        <TargetFramework>netcoreapp2.0</TargetFramework>
      </PropertyGroup>

      <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
        <DebugType>full</DebugType>
        <DebugSymbols>true</DebugSymbols>
      </PropertyGroup>

      <ItemGroup>
        <Content Remove="Views\Shared\ExplainPage.cshtml" />
      </ItemGroup>

      <ItemGroup>
        <None Remove="Properties\PublishProfiles\CustomProfile.pubxml" />
        <None Remove="Properties\PublishProfiles\CustomProfile1.pubxml" />
        <None Remove="Properties\PublishProfiles\umaraftab.net - Web Deploy.pubxml" />
      </ItemGroup>

      <ItemGroup>
        <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />
        <PackageReference Include="Microsoft.AspNetCore.Authentication.Cookies" Version="2.0.1" />
        <PackageReference Include="Microsoft.AspNetCore.Identity" Version="2.0.1" />
        <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.0.0" />
        <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.ViewCompilation" Version="2.0.0" PrivateAssets="All" />
      </ItemGroup>

      <ItemGroup>
        <Folder Include="Properties\PublishProfiles\" />
        <Folder Include="wwwroot\explanations\" />
        <Folder Include="wwwroot\lectures\" />
      </ItemGroup>

      <ItemGroup>
        <None Include="wwwroot\slick\fonts\slick.svg" />
      </ItemGroup>

    </Project>

Папки wwwroot \ lectures и wwwroot \ пояснения содержат аудиофайлы. Кто-нибудь сможет посоветовать, как я могу просто позволить аудио-папкам оставаться на сервере как есть, и просто воссоздать dll-файлы и загрузить их, так как именно здесь происходят изменения.

С уважением,

Ответы [ 2 ]

0 голосов
/ 17 ноября 2018

Попробуйте заменить эти 2 папки в csproj ключевым словом remove:

    <Folder Remove="wwwroot\explanations\" />
    <Folder Remove="wwwroot\lectures\" />

И во время публикации не удаляйте файлы в папке назначения.

0 голосов
/ 16 ноября 2018

Вы можете исключить эти папки из проекта. Обновите файл .csproj, чтобы удалить следующие две строки кода:

 <Folder Include="wwwroot\explanations\" />
 <Folder Include="wwwroot\lectures\" />

Вы можете редактировать .csproj непосредственно в Visual Studio, щелкнув правой кнопкой мыши узел проекта в обозревателе решений и затем отредактировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...