Visual Studio Publish 生成的文件比 Build (.NET Framework) 少

问题描述 投票:0回答:1

我正在使用 Visual Studio 发布功能(到文件夹或到 IIS)发布一个 .NET Framework 站点。

我注意到与发布版本相比,

Publish
没有生成/复制一些文件。例如,不会生成 Content/*.css 文件,这会破坏已发布网站的样式。一些 my.cs 类文件也丢失了,但不知何故这并没有引起任何问题。

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 中构建和发布之间的区别?提到发布会生成相同的文件。

c# asp.net visual-studio build publish
1个回答
0
投票

事实证明,发布时,“从项目中排除”的文件将不会被复制到输出文件夹(这是有道理的)。如果这些文件包含在 <scripts>

<include>
的某个位置(在我的例子中是在 .config 文件中),则在已发布的文件夹中将无法再找到它们,并且代码可能会损坏。
这告诉我们在使用

从项目中排除

功能时要小心...

© www.soinside.com 2019 - 2024. All rights reserved.