XML 文档(2, 2) 中有错误:Visual Studio,SSRS 项目文件错误(VS2015-VS2017)

There is an error in XML document (2, 2): Visual Studio, SSRS Project file errors (VS2015-VS2017)

我有一个用VS2015开发的解决方案文件,它有大约20个项目文件。当我们用VS2017打开文件时出现提示:“不支持报表服务器项目的版本,必须升级项目”。我们选择升级项目并提交更改,solution/projects 现在正在 VS2017 中工作。

当我使用 VS2015 并使用版本控制 Update Solution to Latest Version 时,文件被检索但是项目文件未正确加载; “解决方案中的一个或多个项目未正确加载。请参阅输出 Window 了解更多详情”。每个项目的输出 when 都有一条消息:“ XML 文档 (2, 2). 中存在错误”。我试图右键单击该项目并 Reload Project,但它给出了相同的 XML 文档 (2,2) 错误消息。当我对 Update Solution to Specific Version (and choose the prior working version) 使用版本控制时,项目文件仍然显示“(不可用)”,但是当我选择 Reload Project 然后项目会正确加载。

我想知道如何修复 VS2015 中的文件。然后最终我想完成这项工作,以便 VS2017 和 VS2015 都可以对解决方案文件(项目 .RPTPROJ、数据源 .RDS、报告 .RDL 等)进行更改。

完整的错误信息

C:\Users\myUser\Documents\Visual Studio 2015\Projects\SSRS\Project_ssrs2016\Transportation\Transportation.rptproj : error : There is an error in XML document (2, 2).

Visual Studio 版本信息

(已编辑)

大约 1 年前我尝试使用 VS 2017。它工作了大约一个星期,然后有一天程序突然无法启动并给我错误消息: "Package management initialization failed: Access Denied." 根据 SO 上的人的说法,这是 VS 2017 的一个非常常见的错误,但它有可能已在较新版本中得到修复:()

我的一些同事使用VS2017,但他们用它做的事情并不多。

--Mine
Microsoft Visual Studio Community 2015
Version 14.0.25431.01 Update 3
---------------------------------------------
--Collegue 1 (did the SSRS Project upgrade)
Microsoft Visual Studio Professional 2017 
Version 15.5.6
--Colleage 2 (also uses VS2015, but in the future will probably start using VS2017 more frequently)
Microsoft Visual Studio Professional 2017 
Version 15.7.1



|--VS Extension--       || VS2015       || VS2015 updated   ||  VS2017 (upgraded SSRS)    |
| Data Tools            || 14.0.61021.0 || 14.0.61707.300   || 15.1.61710.120 |
| Analysis Services     || 13.0.1701.8  || 14.0.806.134     || 14.0.1016.244  |
| Integration Services  || 13.0.1601.5  || 14.0.800.90      || 14.0.3002.92   |
| Reporting Services    || 13.0.1701.8  || 14.0.806.134     || 14.0.1016.233  |

Transportation.rptproj

VS2015 ORIG

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ToolsVersion="2.0">
  <State>$base64$PFNvdXJjZUNvbnRyb2xJbmZvIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOmRkbDI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yIiB4bWxuczpkZGwyXzI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yLzIiIHhtbG5zOmRkbDEwMF8xMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDA4L2VuZ2luZS8xMDAvMTAwIiB4bWxuczpkZGwyMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAiIHhtbG5zOmRkbDIwMF8yMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAvMjAwIiB4bWxuczpkZGwzMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAiIHhtbG5zOmRkbDMwMF8zMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAvMzAwIiB4bWxuczpkZGw0MDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEyL2VuZ2luZS80MDAiIHhtbG5zOmRkbDQwMF80MDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEyL2VuZ2luZS80MDAvNDAwIiB4bWxuczpkZGw1MDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEzL2VuZ2luZS81MDAiIHhtbG5zOmRkbDUwMF81MDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEzL2VuZ2luZS81MDAvNTAwIiB4bWxuczpkd2Q9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vRGF0YVdhcmVob3VzZS9EZXNpZ25lci8xLjAiPg0KICA8RW5hYmxlZD5mYWxzZTwvRW5hYmxlZD4NCiAgPFByb2plY3ROYW1lPjwvUHJvamVjdE5hbWU+DQogIDxBdXhQYXRoPjwvQXV4UGF0aD4NCiAgPExvY2FsUGF0aD48L0xvY2FsUGF0aD4NCiAgPFByb3ZpZGVyPjwvUHJvdmlkZXI+DQo8L1NvdXJjZUNvbnRyb2xJbmZvPg==</State>
  <DataSources>
    <ProjectItem>
      <Name>Gmenu.rds</Name>
      <FullPath>Gmenu.rds</FullPath>
    </ProjectItem>
  </DataSources>
  <DataSets>
    <ProjectItem>
      <Name>listWarehouse.rsd</Name>
      <FullPath>listWarehouse.rsd</FullPath>
    </ProjectItem>
  </DataSets>
  <Reports>
    <ProjectItem>
      <Name>Daily Yum Products Daily Traffic Report.rdl</Name>
      <FullPath>Daily Yum Products Daily Traffic Report.rdl</FullPath>
    </ProjectItem>
    <ProjectItem>
      <Name>Load Comment Report.rdl</Name>
      <FullPath>Load Comment Report.rdl</FullPath>
    </ProjectItem>
    <ProjectItem>
      <Name>Load Planning Worksheet.rdl</Name>
      <FullPath>Load Planning Worksheet.rdl</FullPath>
    </ProjectItem>
    <ProjectItem>
      <Name>Loads Under Utilized Exceptions.rdl</Name>
      <FullPath>Loads Under Utilized Exceptions.rdl</FullPath>
    </ProjectItem>
    <ProjectItem>
      <Name>Orders for Load Building.rdl</Name>
      <FullPath>Orders for Load Building.rdl</FullPath>
    </ProjectItem>
    <ProjectItem>
      <Name>Transportation Order History.rdl</Name>
      <FullPath>Transportation Order History.rdl</FullPath>
    </ProjectItem>
    <ProjectItem>
      <Name>Weekly Loads Shipped Detail.rdl</Name>
      <FullPath>Weekly Loads Shipped Detail.rdl</FullPath>
    </ProjectItem>
    <ProjectItem>
      <Name>Weekly Yum Products Daily Traffic Report.rdl</Name>
      <FullPath>Weekly Yum Products Daily Traffic Report.rdl</FullPath>
    </ProjectItem>
  </Reports>
  <Configurations>
    <Configuration>
      <Name>Debug</Name>
      <Platform>Win32</Platform>
      <Options>
        <OutputPath>bin\Debug</OutputPath>
        <TargetServerVersion>SSRS2016</TargetServerVersion>
        <TargetServerURL>http://gcod049/ReportServer</TargetServerURL>
        <TargetFolder>/Transportation</TargetFolder>
        <TargetDataSourceFolder>/Data Sources/01-DEV</TargetDataSourceFolder>
        <TargetDatasetFolder>Datasets</TargetDatasetFolder>
        <TargetReportPartFolder>Report Parts</TargetReportPartFolder>
      </Options>
    </Configuration>
    <Configuration>
      <Name>DebugLocal</Name>
      <Platform>Win32</Platform>
      <Options>
        <OutputPath>bin\DebugLocal</OutputPath>
        <TargetServerVersion>SSRS2016</TargetServerVersion>
        <TargetServerURL>http://localhost/reportserver</TargetServerURL>
        <TargetFolder>Transportation</TargetFolder>
        <TargetDataSourceFolder>Data Sources</TargetDataSourceFolder>
        <TargetDatasetFolder>Datasets</TargetDatasetFolder>
        <TargetReportPartFolder>Report Parts</TargetReportPartFolder>
      </Options>
    </Configuration>
    <Configuration>
      <Name>Release</Name>
      <Platform>Win32</Platform>
      <Options>
        <OutputPath>bin\Release</OutputPath>
        <TargetServerVersion>SSRS2016</TargetServerVersion>
        <TargetServerURL>http://localhost/reportserver</TargetServerURL>
        <TargetFolder>Transportation</TargetFolder>
        <TargetDataSourceFolder>Data Sources</TargetDataSourceFolder>
        <TargetDatasetFolder>Datasets</TargetDatasetFolder>
        <TargetReportPartFolder>Report Parts</TargetReportPartFolder>
      </Options>
    </Configuration>
  </Configurations>
</Project>

VS2017 升级

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <FullPath>Debug</FullPath>
    <OutputPath>bin\Debug</OutputPath>
    <ErrorLevel>2</ErrorLevel>
    <OverwriteDatasets>False</OverwriteDatasets>
    <OverwriteDataSources>False</OverwriteDataSources>
    <TargetServerVersion>SSRS2016</TargetServerVersion>
    <Platform>Win32</Platform>
    <TargetReportFolder>/Transportation</TargetReportFolder>
    <TargetDatasetFolder>Datasets</TargetDatasetFolder>
    <TargetDatasourceFolder>/Data Sources/01-DEV</TargetDatasourceFolder>
    <TargetReportPartFolder>Report Parts</TargetReportPartFolder>
    <TargetServerURL>http://gcod049/ReportServer</TargetServerURL>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)' == 'DebugLocal' ">
    <FullPath>DebugLocal</FullPath>
    <OutputPath>bin\DebugLocal</OutputPath>
    <ErrorLevel>2</ErrorLevel>
    <OverwriteDatasets>False</OverwriteDatasets>
    <OverwriteDataSources>False</OverwriteDataSources>
    <TargetServerVersion>SSRS2016</TargetServerVersion>
    <Platform>Win32</Platform>
    <TargetReportFolder>Transportation</TargetReportFolder>
    <TargetDatasetFolder>Datasets</TargetDatasetFolder>
    <TargetDatasourceFolder>Data Sources</TargetDatasourceFolder>
    <TargetReportPartFolder>Report Parts</TargetReportPartFolder>
    <TargetServerURL>http://localhost/reportserver</TargetServerURL>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <FullPath>Release</FullPath>
    <OutputPath>bin\Release</OutputPath>
    <ErrorLevel>2</ErrorLevel>
    <OverwriteDatasets>False</OverwriteDatasets>
    <OverwriteDataSources>False</OverwriteDataSources>
    <TargetServerVersion>SSRS2016</TargetServerVersion>
    <Platform>Win32</Platform>
    <TargetReportFolder>Transportation</TargetReportFolder>
    <TargetDatasetFolder>Datasets</TargetDatasetFolder>
    <TargetDatasourceFolder>Data Sources</TargetDatasourceFolder>
    <TargetReportPartFolder>Report Parts</TargetReportPartFolder>
    <TargetServerURL>http://localhost/reportserver</TargetServerURL>
  </PropertyGroup>
  <PropertyGroup>
    <State>$base64$PFNvdXJjZUNvbnRyb2xJbmZvIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOmRkbDI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yIiB4bWxuczpkZGwyXzI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yLzIiIHhtbG5zOmRkbDEwMF8xMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDA4L2VuZ2luZS8xMDAvMTAwIiB4bWxuczpkZGwyMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAiIHhtbG5zOmRkbDIwMF8yMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAvMjAwIiB4bWxuczpkZGwzMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAiIHhtbG5zOmRkbDMwMF8zMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAvMzAwIiB4bWxuczpkZGw0MDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEyL2VuZ2luZS80MDAiIHhtbG5zOmRkbDQwMF80MDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEyL2VuZ2luZS80MDAvNDAwIiB4bWxuczpkZGw1MDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEzL2VuZ2luZS81MDAiIHhtbG5zOmRkbDUwMF81MDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEzL2VuZ2luZS81MDAvNTAwIiB4bWxuczpkd2Q9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vRGF0YVdhcmVob3VzZS9EZXNpZ25lci8xLjAiPg0KICA8RW5hYmxlZD5mYWxzZTwvRW5hYmxlZD4NCiAgPFByb2plY3ROYW1lPjwvUHJvamVjdE5hbWU+DQogIDxBdXhQYXRoPjwvQXV4UGF0aD4NCiAgPExvY2FsUGF0aD48L0xvY2FsUGF0aD4NCiAgPFByb3ZpZGVyPjwvUHJvdmlkZXI+DQo8L1NvdXJjZUNvbnRyb2xJbmZvPg==</State>
    <DataSources>@(DataSource)</DataSources>
    <DataSets>@(DataSet)</DataSets>
    <Reports>@(Report)</Reports>
  </PropertyGroup>
  <ItemGroup>
    <DataSet Include="listWarehouse.rsd" />
  </ItemGroup>
  <ItemGroup>
    <DataSource Include="Gmenu.rds" />
  </ItemGroup>
  <ItemGroup>
    <Report Include="Daily Yum Products Daily Traffic Report.rdl" />
    <Report Include="Load Comment Report.rdl" />
    <Report Include="Load Planning Worksheet.rdl" />
    <Report Include="Loads Under Utilized Exceptions.rdl" />
    <Report Include="Orders for Load Building.rdl" />
    <Report Include="Transportation Order History.rdl" />
    <Report Include="Weekly Loads Shipped Detail.rdl" />
    <Report Include="Weekly Yum Products Daily Traffic Report.rdl" />
  </ItemGroup>
  <Import Project="$(MSBuildExtensionsPath)\Reporting Services\Microsoft.ReportingServices.MSBuilder.targets" />
</Project>

答案

I would like to know how to fix the files in VS2015:

如果您可以检索较旧的 2015 .RPTPROJ 项目文件(从源代码管理)并覆盖新的 2017 项目文件,则其余文件将起作用。例如-- AnkhSvn undo/revert a commit.

_

Ultimately, I would like to make this work so that both VS2017 and VS2015 can make changes to the solution files (Projects .RPTPROJ, Datasource .RDS, Report .RDL, and so forth):

由于在我的问题 post 中看到的项目文件 XLM 结构差异,无法使用 VS2015 和 VS2017 在 SSRS 中进行团队开发(据我所知最好)。我们选择恢复到 VS2015 格式,让我们的团队使用 2015 版的 VS 和 SSDT。我在 VS2017 () 中遇到了一些严重的错误,所以我们现在要推迟升级。

尝试删除 *.rptproj.rsuser 文件并重新加载项目。它也适用于 Visual Studio 2019。

或者只是创建新项目并在其中添加现有项目(报表、数据源)。

问题似乎出在 Visual Studio 以前版本遗留下来的 .suo 和 .csproj.user 文件中。删除这些文件,然后 SSRS 项目应该会在 VS2017 中成功加载。

我通过删除 MyProjectName.rptproj.user 文件解决了这个问题

现在可以使用以下扩展名打开带有 Visual Studio 2019 的此类项目:

Microsoft Reporting Services Projects

但是,我遇到了与原始 post 中提到的相同的错误,这导致第一次无法加载项目。解决方案是在本地删除整个项目并从源代码管理中重新获取它 - 显然一些本地临时文件很麻烦。