【问题标题】:"Index was outside the bounds of the array" error while publishing a .NET Web application发布 .NET Web 应用程序时出现“索引超出数组范围”错误
【发布时间】:2020-07-30 22:08:11
【问题描述】:

我有一个简单的 .NET Web 应用程序,当我在本地机器上运行它时它运行良好。但是,当我尝试将应用程序发布到本地文件夹时,我看到“索引超出数组范围”的错误。恐怕这个错误非常模糊,我无法弄清楚问题所在。

我正在 Visual Studio 社区 2019 上创建这个项目。

谁能帮我找出问题所在:)

【问题讨论】:

  • 我在 2021 年 1 月遇到此错误。购买尝试添加网络路径作为部署位置。使用 VS Community 2019。我在 VS 2017 上成功完成了这项工作。

标签: c# asp.net .net asp.net-webpages


【解决方案1】:

我不知道这个问题或解决方案,但这是我使用的解决方法。 本质上,您需要手动创建发布文件夹和文件配置文件。

我为一个 .NET Core 3.1 Blazor 项目做这个

第 1 步 - 在您的项目中,转到 Properties 文件夹,您应该在其中找到您的 launchSettings.json

第 2 步 - 在内部创建一个文件夹并将其命名为 “PublishProfiles”

第 3 步 - 在 PublishProfiles 文件夹中,创建一个文件并将其命名为 “FolderProfile.pubxml”

第 4 步 - 在此文件中,粘贴此代码并将位置路径添加到您要发布的文件夹:

<?xml version="1.0" encoding="utf-8"?>
<!-- https://go.microsoft.com/fwlink/?LinkID=208121. 
    -->
<Project ToolsVersion="4.0"
    xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <PropertyGroup>
        <DeleteExistingFiles>True</DeleteExistingFiles>
        <ExcludeApp_Data>False</ExcludeApp_Data>
        <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
        <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
        <LastUsedPlatform>Any CPU</LastUsedPlatform>
        <PublishProvider>FileSystem</PublishProvider>
        <PublishUrl>Your location path where you want to publish your application</PublishUrl>
        <WebPublishMethod>FileSystem</WebPublishMethod>
        <SiteUrlToLaunchAfterPublish />
        <TargetFramework>netcoreapp3.1</TargetFramework>
        <ProjectGuid>08d93ba4-c83c-47e9-a83e-73f12d97626a</ProjectGuid>
        <SelfContained>false</SelfContained>
    </PropertyGroup>
</Project>

第 5 步 - 创建另一个文件并将其命名为 “FolderProfile.pubxml.user” 并将此代码粘贴到其中。再次插入所需文件夹的路径:

<?xml version="1.0" encoding="utf-8"?>
<!-- https://go.microsoft.com/fwlink/?LinkID=208121. 
    -->
<Project ToolsVersion="4.0"
    xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <PropertyGroup>
        <_PublishTargetUrl>Your location path where you want to publish your application</_PublishTargetUrl>
        <History>True|2021-07-02T16:47:41.7255934Z;True|2021-07-02T12:44:24.1064885-04:00;True|2021-05-21T09:22:02.2383330-04:00;True|2021-05-20T17:42:40.0758569-04:00;True|2021-05-20T09:45:45.4390896-04:00;True|2021-05-20T09:02:32.8340404-04:00;</History>
    </PropertyGroup>
</Project>

第 6 步 - 在此之后,您应该能够在 Visual Studio 中右键单击您的项目,单击“发布...”选项,并且应该可以看到带有“发布”按钮的屏幕。

【讨论】:

  • 这个解决方案对我有用。与 .netcore 5 项目相同的问题 Visual Studio 2019。
【解决方案2】:

这只是一种解决方法,但有效。 在 Visual Studio 顶部的解决方案配置选项中使用 Release 而不是 Debug,并将生成的文件从“bin\Release”文件夹复制到目标“Publish”文件夹。

【讨论】:

    【解决方案3】:

    删除newpublish 之间的空格我认为这可能会有所帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-17
      • 2013-04-02
      • 1970-01-01
      相关资源
      最近更新 更多