ASP.NET Core: 게시 시 파일 제외 또는 포함
에 이전에 .aspdotnet1.0
/제함에 포함 섹션 project.json
{
"exclude": [
"node_modules",
"bower_components"
],
"publishExclude": [
"**.xproj",
"**.user",
"**.vspscc"
]
}
1이? (ASP.NET Core 1.1 )project.json
에? 비슷한 섹션이 있습니까?.csproj
또는 일또는.pubxml
?
설명서에서: 예를 들어 앱과 함께 게시할 일부 파일을 지정하려면 에 있는 알려진 메커니즘을 사용할 수 있습니다.
csproj
그을위예해 (들어를것예들),<Content>
요소).
이 .CopyToPublishDirectory
성속한의 .ItemGroup
파일을 게시 디렉터리에 복사할지 여부를 결정하는 요소로, 다음 값 중 하나를 가질 수 있습니다.
- 항상,
- 최신 상태 유지
- 절대.
참고로, 유사한 것도 있습니다.CopyToOutputDirectory
출력 폴더의 속성입니다.
예(여기서부터):
<ItemGroup>
<None Include="notes.txt" CopyToOutputDirectory="Always" />
<!-- CopyToOutputDirectory = { Always, PreserveNewest, Never } -->
<Content Include="files\**\*" CopyToPublishDirectory="PreserveNewest" />
<None Include="publishnotes.txt" CopyToPublishDirectory="Always" />
<!-- CopyToPublishDirectory = { Always, PreserveNewest, Never } -->
</ItemGroup>
롭다면 how 만당흥미어떻게면다롭약.project.json -.csproj
사용 이마레션사CopyToPublishDirectory
게시 옵션을 마이그레이션하는 속성입니다. Dotnet clipo에서 MigratePublishOptionsRule 클래스를 조사할 수 있습니다.
.csproj
Visual Studio 버전 15.3 이상의 경우 Visual Studio에 파일이 표시되고("Content Remove"는 표시되지 않음) 파일이 게시되지 않도록 합니다.
<ItemGroup>
<Content Update="appsettings*.json" CopyToPublishDirectory="Never" />
</ItemGroup>
비주얼 스튜디오 2017 15.3 이후
.csproj 파일을 편집하여 파일/폴더를 게시에서 수동으로 제외합니다.
<ItemGroup>
<Content Remove="src\**" />
<Content Remove="node_modules\**" />
</ItemGroup>
참조: https://www.danielcrabtree.com/blog/273/fixing-the-duplicate-content-error-after-upgrading-visual-studio-2017
Visual Studio 2017(15.6.5에서 테스트)을 사용하면 솔루션 탐색기에서 파일을 마우스 오른쪽 버튼으로 클릭하고 빌드 작업을 없음으로 설정할 수 있습니다.
은 당신의 업트됩다를 입니다..csproj
다음과 같은 파일:
<ItemGroup>
<Content Remove="appsettings.Development.json" />
<Content Remove="appsettings.json" />
<Content Remove="npm-shrinkwrap.json" />
<Content Remove="package.json" />
<Content Remove="tsconfig.json" />
</ItemGroup>
<ItemGroup>
<None Include="appsettings.Development.json" />
<None Include="appsettings.json" />
<None Include="npm-shrinkwrap.json" />
<None Include="package.json" />
<None Include="tsconfig.json" />
</ItemGroup>
이게 도움이 되길 바랍니다.
Visual Studio 2019의 경우 다음 코드를 사용하여 "dummy"라는 이름의 wwwroot 하위 폴더("dummy"의 모든 하위 폴더 포함)를 게시 출력에서 제외할 수 있었습니다.
<ItemGroup>
<Content Update="wwwroot\dummy\**\*">
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
</Content>
</ItemGroup>
참고: wwwroot 및 해당 하위 폴더는 프로젝트에 포함된 상태로 유지하되 게시 중에는 제외해야 합니다.
을 편집합니다. 예:FolderProfile.pubxml
파일 및 폴더를 포함/제외하기 위해 아래에 표시된 적절한 XML 요소를 추가합니다.
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<PublishProvider>FileSystem</PublishProvider>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<PublishFramework />
<ProjectGuid>afa9f185-7ce0-4935-9da1-ab676229d68a</ProjectGuid>
<publishUrl>bin\Release\PublishOutput</publishUrl>
<DeleteExistingFiles>False</DeleteExistingFiles>
</PropertyGroup>
<ItemGroup>
<!-- CopyToPublishDirectory = { Always, PreserveNewest, Never } -->
<!-- Copying a file located outside of the project into the published site's wwwroot folder. -->
<ResolvedFileToPublish Include="..\ReadMe2.md">
<RelativePath>wwwroot\ReadMe2.md</RelativePath>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</ResolvedFileToPublish>
<!-- Excluding the wwwroot\Content folder. -->
<Content Update="wwwroot\Content\**\*" CopyToPublishDirectory="Never" />
<!-- Excluding the Views\Home\About2.cshtml file. -->
<Content Update="Views\Home\About2.cshtml" CopyToPublishDirectory="Never" />
</ItemGroup>
</Project>
참고 항목:Visual Studio 게시 프로파일 - 선택적 파일 포함
@Craig Wilson의 솔루션은 Visual Studio 2022 및 Core 6과 함께 게시하는 데 큰 도움이 되었습니다.
다음은 appsettings.json과 appsettings를 제외한 모든 appsettings를 제외한 샘플입니다.ASPNETCORE_ENVORYENCENT=QA와 같은 시스템 수준에서 환경 변수를 설정하는 경우의 QA.json
창에서 dotnet pubish 명령을 실행할 때 사용하는 것과 동일한 powershell에서 환경 변수를 즉시 설정할 수도 있습니다.
$env:ASPNETCORE_ENERVICEENMENT = 'QA'
해당 파워셸을 닫으면 해당 변수가 삭제됩니다.
<!-- Publish Settings -->
<ItemGroup>
<Content Update="appsettings.*.json">
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
</Content>
<Content Update="appsettings.$(ASPNETCORE_ENVIRONMENT).json">
<CopyToPublishDirectory>Always</CopyToPublishDirectory>
</Content>
<Content Update="appsettings.$(ASPNETCORE_ENVIRONMENT).json">
<CopyToPublishDirectory>Always</CopyToPublishDirectory>
</Content>
</ItemGroup>
Visual studio 2022에서는 기본적으로 모든 파일이 포함되어 있으므로 Update를 사용하면 됩니다.
저 같은 경우에는 현지인이 필요해요.디버그 중에는 settings.json 로컬이지만 릴리스 빌드 또는 게시 중에는 WebDeploy zip 파일에 포함하지 않습니다.
<ItemGroup>
<Content Include="..\local.settings.json" Link="local.settings.json" Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="..\local.settings.json" Link="local.settings.json" Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
</Content>
</ItemGroup>
**
몇 개의 파일이 들어 있는 폴더가 게시되지 않는 것을 발견했습니다. 프로젝트에서 폴더를 마우스 오른쪽 단추로 클릭하여 배포에 폴더를 포함하는 옵션을 선택할 수 있는지 확인했습니다. 폴더에 있는 파일을 선택하고 배포 시 복사하도록 표시했는지 확인했습니다.프로세스에서 파일을 복사하고 폴더를 만듭니다.
이렇게 하면 폴더에 파일이 있는 경우에는 도움이 되지만 폴더가 비어 있으면 도움이 되지 않습니다.
.csproj 파일을 편집하여 파일/폴더를 게시에서 수동으로 제외합니다.
이것 또한 참조할 수 있습니다.
웹 배포에 대한 내용은 https://blogs.msdn.microsoft.com/webdev/2010/04/22/web-deployment-excluding-files-and-folders-via-the-web-applications-project-file/ 을 참조하십시오.
project.json
이제 로 대체되었습니다.csproj
여러분은 https://www.stevejgordon.co.uk/project-json-replaced-by-csproj 에서 그것에 대해 더 읽을 수 있습니다.
기존 .NET Core 1.0 프로젝트 업그레이드 또는 .NET Core 1.1 사용에 대한 내용은 https://blogs.msdn.microsoft.com/dotnet/2016/11/16/announcing-net-core-1-1/ 을 참조하십시오.
Visual Studio 2019에서.
- 파일을 마우스 오른쪽 단추로 클릭합니다. -> 속성
- 출력 디렉터리에 복사 -> 항상 복사
- 솔루션 저장 후 게시 시도
visual studio 2022: csproj 언로드, 콘텐츠 및 하위 폴더를 추가하려면 다음을 삽입합니다.
<ItemGroup>
<None Update="StaticContent\**">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
비주얼 스튜디오 2019:
- "솔루션 탐색기"에서 파일의 "속성"으로 이동합니다.
- "출력 디렉터리에 복사" 속성을 원하는 값("항상 복사", "복사 안 함", "새로 복사")으로 변경합니다.
언급URL : https://stackoverflow.com/questions/42712055/asp-net-core-exclude-or-include-files-on-publish
'programing' 카테고리의 다른 글
TS1128: 선언 또는 문이 필요합니다(파일 끝). (0) | 2023.07.17 |
---|---|
DataFrame panda에서 날짜 사이의 날짜 수가 포함된 열 추가 (0) | 2023.07.17 |
Android Developer Console의 앱 목록에서 프로그램을 제거하는 방법 (0) | 2023.07.12 |
Excel VBA - 코드 편집기에서 라인 번호를 켜는 방법 (0) | 2023.07.12 |
ORA-02273 수정: 이 고유/기본 키가 일부 외부 키에서 참조됩니다. (0) | 2023.07.12 |