VS 2015本机编译器在生成项目时在.rdlc文件上返回值-103741511



我得到了这个错误:

rsUnexpectedCompilerError:在编译表达式。本机编译器返回值:"-103741511"

,在现有项目的Windows 8.1框上的Visual Studio 2015上的新框上编译rdlc

这种情况发生在项目中具有表达式的每个现有rdlc文件上。

我查过了。我安装了最新的sql服务器数据工具(ssdt)。

我还创建了一个全新的控制台应用程序,其中包含没有表达式的空报表,并且它编译得很好。当我向空报告中添加一个表达式时,就像下面的例子一样,它拒绝编译。

有人知道如何让Visual Studio能够用表达式编译rdlcs吗?在用windows 8.1重新成像之前,计算机曾这样做。

以下是一个无法编译的文件示例:

<?xml version="1.0" encoding="utf-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
  <Body>
    <ReportItems>
      <Textbox Name="Textbox1">
        <CanGrow>true</CanGrow>
        <KeepTogether>true</KeepTogether>
        <Paragraphs>
          <Paragraph>
            <TextRuns>
              <TextRun>
                <Value>="goo"</Value>
                <Style />
              </TextRun>
            </TextRuns>
            <Style />
          </Paragraph>
        </Paragraphs>
        <rd:DefaultName>Textbox1</rd:DefaultName>
        <Top>0.62375in</Top>
        <Left>2.88417in</Left>
        <Height>0.25in</Height>
        <Width>1in</Width>
        <Style>
          <Border>
            <Style>None</Style>
          </Border>
          <PaddingLeft>2pt</PaddingLeft>
          <PaddingRight>2pt</PaddingRight>
          <PaddingTop>2pt</PaddingTop>
          <PaddingBottom>2pt</PaddingBottom>
        </Style>
      </Textbox>
    </ReportItems>
    <Height>2in</Height>
    <Style />
  </Body>
  <Width>6.5in</Width>
  <Page>
    <LeftMargin>1in</LeftMargin>
    <RightMargin>1in</RightMargin>
    <TopMargin>1in</TopMargin>
    <BottomMargin>1in</BottomMargin>
    <Style />
  </Page>
  <AutoRefresh>0</AutoRefresh>
  <rd:ReportUnitType>Inch</rd:ReportUnitType>
  <rd:ReportID>931c20c8-104d-4fe3-b563-d60a1298ba59</rd:ReportID>
</Report>

这是我的VS 2015版本信息

Microsoft Visual Studio Professional 2015
Version 14.0.23107.0 D14REL
Microsoft .NET Framework
Version 4.6.00081
Installed Version: Professional
Visual Basic 2015   XXXXX-XXXXX-XXXXX-XXXXX
Microsoft Visual Basic 2015
Visual C# 2015   XXXXX-XXXXX-XXXXX-XXXXX
Microsoft Visual C# 2015
Visual C++ 2015   XXXXX-XXXXX-XXXXX-XXXXX
Microsoft Visual C++ 2015
ASP.NET Web Frameworks and Tools 2013   5.2.30624.0
For additional information, visit http://www.asp.net/
Common Azure Tools   1.6
Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.
GenerateUnitTest   1.0
Generates unit test code for methods in classes under test.
Microsoft Azure HDInsight HQL Service   2.0.2600.0
Language service for Hive query
Microsoft Azure HDInsight Tools for Visual Studio   2.0.2600.0
An integrated development environment for HDInsight application development.
Microsoft Azure Mobile Services Tools   1.4
Microsoft Azure Mobile Services Tools
Microsoft Azure Tools   2.7
Microsoft Azure Tools for Microsoft Visual Studio 2015 - v2.7.30818.1601
NuGet Package Manager   3.2.0
NuGet Package Manager in Visual Studio. For more information about NuGet, visit http://docs.nuget.org/.
PostSharp   4.1.28.0
PreEmptive Analytics Visualizer   1.2
Microsoft Visual Studio extension to visualize aggregated summaries from the PreEmptive Analytics product.
SQL Server Data Tools   14.0.50730.0
Microsoft SQL Server Data Tools

为了解决RDLC构建问题,我不得不做以下工作(大量挖掘):

https://support.microsoft.com/en-us/kb/3118750场景2的解决方案如果客户已将其系统升级到.NET Framework 4.6,或者已从安装了更新3098779和3097997的完全更新的.NET 4.5.1或4.5.2系统安装了Visual Studio 2015,则必须卸载更新3098779and3097997。

Reporting Services在您的Visual Studio 2015 SSDT版本(2015年7月)中不可用,如本文所述,因此您在尝试构建报告时出现问题

安装.Net 4.6(Windows server 2012 R2)后,我们在一台服务器上遇到了此问题,但在任何其他服务器上(在Windows 7或server 2008上)都没有问题。一些搜索除了StackOverflow的这篇文章,Compile rdlc in VS2013-error Native编译器返回值:"-103745111"外,什么也没找到,它描述了我们遇到的确切问题。不幸的是,它没有解决方案。

在我们的案例中,这是一台生产服务器,我们必须从备份恢复到安装.Net 4.6之前的某个点。

我正在努力从我们的报告中删除这些表达式(这在我们的情况下是可行的,但可能对您不起作用)。到目前为止,这是我们找到的唯一解决方案。

我们将与微软一起记录一个错误,并希望很快能得到补丁。


我们尝试过但没有成功

  • 将解决方案从Visual Studio 2013升级到Visual Studio 2015
  • 将CLR目标从4.0更改为4.6
  • 将Microsoft ReportViewer从v10升级到v12
  • 在Visual Studio 2015中从头开始重新创建RDLC

为了解决RDLC构建问题,我不得不做以下工作(大量挖掘):

https://support.microsoft.com/en-us/kb/3118750场景2的解决方案如果客户已将其系统升级到.NET Framework 4.6,或者已从安装了更新3098779和3097997的完全更新的.NET 4.5.1或4.5.2系统安装了Visual Studio 2015,则必须卸载更新3098779and3097997。

重新启动并成功。

最新更新