项目文件(rptproj)是一个奇怪的SSRS结构

时间:2018-04-25 15:28:17

标签: reporting-services

我收到了一位我无法打开的同事的SSRS项目。这是使用SSDT 2015创建的,我试图用相同的方式打开它。我尝试打开它时遇到的错误是:

  

(项目名称).rptproj:错误:XML文档中存在错误(2,2)。

.rptproj文件采用以下格式:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.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></Platform>
    <TargetReportFolder></TargetReportFolder>
    <TargetDatasetFolder></TargetDatasetFolder>
    <TargetDatasourceFolder></TargetDatasourceFolder>
    <TargetReportPartFolder></TargetReportPartFolder>
    <TargetServerURL></TargetServerURL>
  </PropertyGroup>
    <State></State>
    <DataSources>@(DataSource)</DataSources>
    <DataSets>@(DataSet)</DataSets>
    <Reports>@(Report)</Reports>
  </PropertyGroup>
  <ItemGroup>
    <DataSet Include="(data source file name).rsd" />
  </ItemGroup>
  <ItemGroup>
    <Report Include="(Report Name).rdl" />
</ItemGroup>
...

我查看了一个我可以打开的SSRS项目,它看起来完全不同:

<?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></State>
  <DataSources>
    <ProjectItem>
      <Name>(data source name).rds</Name>
      <FullPath>(data source name).rds</FullPath>
    </ProjectItem>
  </DataSources>
  <DataSets>
    <ProjectItem>
      <Name>(dataset name).rsd</Name>
      <FullPath>(dataset name).rsd</FullPath>
    </ProjectItem>
  </DataSets>
  <Reports>
    <ProjectItem>
      <Name>(report name).rdl</Name>
      <FullPath>(report name).rdl</FullPath>
    </ProjectItem>
    <ProjectItem>
...

我希望了解为什么存在这些差异以及如何在Visual Studio中打开项目。

3 个答案:

答案 0 :(得分:1)

我遇到了完全相同的问题-在两台不同的计算机上使用Visual Studio 2015 Enterprise Update 3。比较SQL Server Reporting Services的版本后,我注意到它们是不同的(一个使用v13.0,另一个使用v14.0)。

因此,第一步是安装相同版本的 SQL Server数据工具(v14.0.61712.50)。之后,我删除了扩展名为“ .rptproj.rsuser ”的文件。

答案 1 :(得分:0)

检查ToolsVersion节点上的Project属性。我发现Visual Studio 2015的SSDT版本无法打开更高版本。 VS2017的SSDT似乎只能在新版本上运行,并将升级现有的报告项目。

如果您的同事升级了该项目,则该文件夹中可能仍有备份。如果他们在2017年从零开始创建它,那么返回的唯一方法是使用.rdl和其他文件(应该向后兼容)创建一个新的2015年报告项目。

我见过的解决方案可以毫无问题地来回传递。所以解决方案文件夹之类的东西至少会被保留下来。

答案 2 :(得分:0)

您可能需要安装SSDTSetup.exe。有一个更新,使msbuild能够构建rptproj文件。您上面的xml看起来不错。

输入: C:\ Program Files(x86)\ MSBuild

您是否看到一个名为Reporting Services的文件夹(包含用于构建rptproj的10个.dll)

如果没有,去这里... https://blogs.msdn.microsoft.com/sqlrsteamblog/2017/09/25/msbuild-support-for-reporting-services-projects-now-available/

寻找: •下载适用于Visual Studio 2015的SQL Server数据工具 •下载Visual Studio 2017的Reporting Services项目

我正在使用2015 https://docs.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt?view=sql-server-2017

向下滚动到... VS 2015的SSDT(独立安装程序) 下载下载适用于Visual Studio 2015(17.4)的SSDT

安装SSDT之后,您将获得上面提到的Reporting Services文件夹。 您应该现在就可以构建它。 您还需要将其安装在构建服务器上。