向RDLC报告添加新数据集时Visual Studio挂起

acruukt9  于 2023-06-24  发布在  其他
关注(0)|答案(9)|浏览(237)

我创建一个特定的report.rdlc,然后我想添加新的datatable到我的报告。
但在更改数据集后,试图将新数据集添加到我的报告中。
visual studio每次都崩溃,重新启动而不添加新的数据集!

我搜索这个bug,根据Microsoft,它说:
这是Visual Studio中最古老的bug之一,它可以很容易地使“所有版本”的Visual Studio(现在是VS.nET 2015更新1)崩溃。当您将项目移动到另一个目录并且报表查看器组件尝试从以前的位置打开数据集架构时,会发生这种情况。以便用文本编辑器修复这个打开的RLC文件。查找名为“SchemaPath”的属性,并在其中更新数据集文件的路径。
我做了这个建议,然后清理项目,并重建它,但同样的问题!如何解决这个问题?

<rd:DataSetInfo>
        <rd:DataSetName>AnalysisDS1</rd:DataSetName>
        <rd:SchemaPath>N:\ProjData\FinanceList\FinanceList\Finance\App_Code\AnalysisDS1.xsd</rd:SchemaPath>
        <rd:TableName>AnalysisDT1</rd:TableName>
        <rd:TableAdapterFillMethod />
        <rd:TableAdapterGetDataMethod />
        <rd:TableAdapterName />
</rd:DataSetInfo>
bmp9r5qi

bmp9r5qi1#

到目前为止,V.S中还没有修复这个bug,希望Microsoft修复这个持续的问题。

解决方法:

  • 我添加一个新的项目到我的解决方案 *,然后将我的RDLC拖放到我的新项目中,然后添加一个新的数据集,完成我的报告并再次将其拖到其原始项目中,一切都很顺利。
vkc1a9a2

vkc1a9a22#

这是在VS2017中发生的。我能够通过首先删除包含.rdlc的项目的/bin//obj/文件夹中的所有内容来解决这个问题。
具体来说,似乎在打开“数据集属性”窗口时抛出FileIOException,并且似乎无法打开/obj/文件夹中的一个或两个文件,因为它们正在被另一个进程使用:
DesignTimeResolveAssemblyReferences.cacheDesignTimeResolveAssemblyReferencesInput.cache
我不明白为什么有时候/bin/也需要清除,但为了安全起见,最好同时清除两者。

8hhllhi2

8hhllhi23#

尝试删除.vs或bin和obj仍然不工作,但当我尝试删除我的数据源连接并添加新连接时,它为我工作。

wgmfuz8q

wgmfuz8q4#

有点晚了,但我只是遭受了一个坚实的工作日来解决这个同样的问题,所以我会分享的情况下,它节省了某人失去头发为此:
在我的例子中,我的数据集是由一个存储过程提供的,经过反复试验,我发现是一个左联接导致了VS冻结。
几点意见:

  • 存储过程在SSMS上完美执行;
  • 其他存储过程在VS中没有引起任何问题。

原因:我的T1中的外键有很多空值,所以,即使SSMS不在乎并顺利运行连接(在1秒内),SSRS也无法接受它,并不断冻结和崩溃。
下面是原始代码的一个例子:

select *
from table1 as t1
        left join   table2 as t2    on  t1.FK= t2.PK

解决方案:

select *
from table1 as t1
        left join   table2 as t2    on  t1.FK is not null   and t1.FK= t2.PK
6rvt4ljy

6rvt4ljy5#

我也面临着同样的问题。为了解决这个问题,在我的情况下有两个步骤,这些步骤如下所示:

**第1步:**打开windows默认选项“事件查看器”。在此“事件查看器”中,您将找到发生此问题的实际原因。**第二步:**从控制面板卸载‘水晶报表’,卸载水晶报表后,我的问题就解决了。

jtw3ybtb

jtw3ybtb6#

解决方案就在这里…打开项目目录=>Properties=>DataSources并删除此文件夹中的所有文件...这很有效

wydwbb8l

wydwbb8l7#

这个bug很难解决,但在我们的项目中,我们有几个解决方案和/或变通方法。
通常你会得到2不那么有用的消息在事件查看器像这样
第一条信息:
出现故障的应用程序名称:devenv.exe,版本:15.9.28307.423,时间戳:0x5c5b5342故障模块名称:未知,版本:www.example.com,时间戳:0.0.0.00xc0000005故障偏移:0x49e07264故障进程ID:0x3e4c故障应用程序启动时间:0x01d5ab734dee5790故障应用程序路径:C:\Program Files(x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\devenv.exe故障模块路径:未知报告ID:93b01c49 - 4490 - 41a4-a8db-142f6a99697a故障包全名:正在出错的包相关应用程序ID: 93b01c49-4490-41a4-a8db-142f6a99697a Faulting package full name: Faulting package-relative application ID:
第二条信息:
适用范围:devenv.exe Framework版本:v4.0.30319说明:由于未处理的异常,进程已终止。异常信息:系统。Microsoft的NullReferenceException。报表设计器。设计。ProjectItemUtil. GetComplexElements(System. Xml。图式XmlSchemaElement)。报表设计器。设计。DesignUtil. GetVenusObjectDataSources(系统。Xml。图式XmlSchema [],System. IServiceProvider)。报表设计器。数据。本地的Microsoft的DataSetSynchronizer + d__11.MoveNext()。报表设计器。数据。本地的Microsoft的DataSetSynchronizer + d__7.MoveNext()。报表设计器。数据。本地的对话。几页。DataSetGeneralPage。Microsoft的LoadDataSources()。报表设计器。数据。本地人对话。几页。DataSetGeneralPage。LoadData()在Microsoft。报表设计器。数据。本地的对话。DataSetDialog。OnLoad(系统EventArgs)。Windows。表格。形式。系统上的OnCreateControl()。Windows。表格。控制。系统中的CreateControl(Boolean)。Windows。表格。控制。系统中的CreateControl()。Windows。表格。控制。WmShowWindow(系统。Windows。表格。消息ByRef)。Windows。表格。控制。WndProc(系统。Windows。表格。消息ByRef)。Windows。表格。ScrollableControl。WndProc(系统Windows。表格。Message ByRef)。Windows。表格。ContainerControl. WndProc(系统Windows。表格。Message ByRef)。Windows。表格。形式。WmShowWindow(系统.Windows。表格。Message ByRef)。Windows。表格。形式。WndProc(系统Windows。表格。Message ByRef)。Windows。表格。Control + ControlNativeWindow。OnMessage(系统。Windows。表格。Message ByRef)。Windows。表格。Control + ControlNativeWindow。WndProc(系统Windows。表格。Message ByRef)。Windows。表格。NativeWindow。DebuggableCallback(IntPtr,Int32,IntPtr,IntPtr)
解决问题的方法:
1.对于我们中的一些人来说,这是一个DLL引用,它是microsoft.office.sharepoint.tools.dll的问题。因此,过程是查看最近添加到TFS的DLL,并尝试从项目中逐个删除它们,然后再次尝试添加数据集。这解决了我们团队大部分人的问题。
1.有时,解决方案1是不够的,在我的情况下,我得到了最新版本的修复从TFS,但我仍然有问题。因此,解决方案是从\Project\package\文件夹中删除所有内容,保存所有内容并重新构建所有内容。这为我解决了问题。所以即使参考文件不见了,包仍然在那里。
1.这是一个解决方案,但就像人们在这里说的,你需要添加一个新的项目到你的解决方案,并创建你的rdlc报告和数据集。这很好用,但不是很好,因为你需要将你的报告复制到正确的项目中,然后更改(数据集的). xsd和. rdlc文件的内容,使它们指向正确的路径。
1.这一点非常明显,但您需要检查数据集,模式,数据库连接的路径是否都指向. xsd和. rdlc文件中的正确路径。

4sup72z8

4sup72z88#

同样的问题也发生在我身上。我只是做了以下步骤和工作为我vs2015。
1.在调试模式下Build=> Clean Solution。

  1. Build=> Clean Solution in Release mode。
fafcakar

fafcakar9#

这是否与另一个问题有关?vs 2019 crashes without any error report when opening solution
修复VS解决了这个问题。值得一试;)

相关问题