我有一个asp core 2.1项目,我正在尝试通过Web部署发布。
我有一个名为“ Angular”的文件夹,并且在其中是我的源文件(包括一些用于angular的配置的.json文件)-将这些文件(通过单独的过程“ ng build”)构建到wwwroot / app目录中,以备发布。因此,我不希望这个Angular目录中的内容全部显示在已发布的文件夹中。但是我仍然希望Angular文件夹显示在项目/解决方案资源管理器中/在文件中查找。
目前,它正在发布Angular文件夹,其中包含所有.json文件。显然,这很糟糕,我需要阻止这种情况的发生。我很确定这是因为... https://github.com/aspnet/websdk/blob/dev/src/ProjectSystem/Microsoft.NET.Sdk.Web.ProjectSystem.Targets/netstandard1.0/Microsoft.NET.Sdk.Web.ProjectSystem.props#L32
我正在使用以下命令进行发布:
dotnet publish C:\blah\ -c Release /p:PublishProfile=WebDeployProfile
(有时也使用相同的配置文件通过Visual Studio Publish进行操作,但频率较低-我注意到这些功能的功能有所不同,我觉得很奇怪)
在.csproj和.pubxml中,我尝试了许多不同的操作,这变得荒谬了,我目前认为msbuild / deploy完全是一团糟,而且非常糟糕。
我希望有人可以帮助我完成一件非常简单容易的事情-从发布中排除文件夹(而将其保留在项目中)。
答案 0 :(得分:0)
我遇到了同样的问题。
我有一个文件夹,其中包含多个json文件,这些文件在发布过程中被拾取并发送到发布输出。
要排除诸如“ FolderYouDontWant”之类的文件夹,请将以下内容添加到您的.csproj文件中:
<ItemGroup>
<Content Update="FolderYouDontWant\**\*.*" CopyToPublishDirectory="Never" />
</ItemGroup>
如果要查找要排除的特定文件而不是整个文件夹,请使用确切的文件路径,例如:
<ItemGroup>
<Content Update="FolderWithFile\dont-want.json" CopyToPublishDirectory="Never" />
</ItemGroup>
如果您有多个路径,则可以将所有Content元素添加到同一 ItemGroup 。
答案 1 :(得分:0)
<ItemGroup>
<Content Update="appsettings*.json" CopyToPublishDirectory="Never" />
</ItemGroup>