提问人:SyndRain 提问时间:10/12/2023 最后编辑:SyndRain 更新时间:10/17/2023 访问量:164
Visual Studio 发布生成的文件比生成少 (.NET Framework)
Visual Studio Publish generates less files than Build (.NET Framework)
问:
我正在使用 Visual Studio 发布功能(发布到文件夹或 IIS)发布 .NET Framework 网站。
我注意到与Release Build相比,有些文件没有生成/复制。例如,不会生成内容/*.css 文件,这会破坏已发布网站的样式。我的一些 .cs 类文件也丢失了,但不知何故没有造成任何问题。Publish
Publish 实际上做了什么?它是否比复制 Build 生成的文件更重要?
编辑:这是我对“发布到文件夹”的设置
<Project>
<PropertyGroup>
<DeleteExistingFiles>false</DeleteExistingFiles>
<ExcludeApp_Data>false</ExcludeApp_Data>
<LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<PublishProvider>FileSystem</PublishProvider>
<PublishUrl>bin\app.publish\</PublishUrl>
<WebPublishMethod>FileSystem</WebPublishMethod>
<_TargetId>Folder</_TargetId>
</PropertyGroup>
</Project>
注意:我使用的是 Visual Studio 2022
可能与此相关:在 VS 中构建和发布之间的区别? 提到发布会生成相同的文件。
答:
1赞
SyndRain
10/12/2023
#1
事实证明,在发布时,从项目中排除的文件不会复制到输出文件夹(这是有道理的)。在原始文件夹中,这些排除的文件仍然可以包含在 or 中(或者在我的情况下包含在 .config 文件中)。但是,在已发布的文件夹中无法再找到它们,从而造成潜在的危害。<scripts>
<include>
这告诉我们在使用“从项目中排除”功能时要小心......
评论