2010-11-17 76 views

回答

2

我有这个错误使用当前的SL4 Telerik控件。有类似的问题已被报道here与各种解决方案。这个问题似乎与Expression Blend管理控件缓存的方式有关。

+1

这是错误的一个具体实例,但是它特别是当有一个合并字典的XAML问题发生在Silverlight中的许多情况。 – dcstraw 2011-05-10 16:40:30

1

此问题的大部分原因与组件设计上的依赖属性有关。 你只是在设计上面对这个问题。

破损很简单,但需要时间:)清理项目并重建所有。当你再次进入设计时,你应该看到一切都很好!

我希望这有助于!

如果您最近看到此异常,请尝试重新安装silverlight sdk4。

+0

我认为OP(作为我自己)在运行时遇到问题,而不是设计时间。 – jv42 2012-04-20 13:00:10

+0

你是对的一个通用的错误。如果你做设备相关的事情。也许在发布模式下运行项目解决了这个问题。它有时在调试模式下失败。只需使用Ctrl + F5运行它。如您所说,它是一个非常常见的错误,其中一些列在这里http://msdn.microsoft.com/en-us/library/windows/desktop/aa378137%28v=vs.85% 29.aspx – 2012-04-23 08:20:16

+0

不,我在发布代码中失败了。这是在本机代码中的一些媒体播放。 – jv42 2012-04-23 08:44:56

1

这是一个安全和权限问题。查看IIS并确保集成安全性处于开启状态。然后将应用程序保护级别设置为中(如果它高,那么这可能是结果)。然后检查你的Web.Config文件。确保模拟关闭。

这应该有所帮助。

3

我也有这个错误,我发现这个问题是有关没有添加所有请求的程序集到您的项目。在我的情况下,我使用一个UserControl与Silverlight工具包依赖,我没有添加此引用。 我刚刚添加了参考和一切解决:)

2

这里有一种方法来产生这个错误,我今天偶然发现。我们在XAML以下按钮:

<Button x:Name="button" Click="Button_Click" Content="Click me" /> 

事件处理程序处理该按钮的Click事件如下:

private void Button_Click(object sender, RoutedEventArgs e) 
    { 
     button.Margin = new Thickness(0, double.NaN, 0, 0); 
    } 

当我按一下按钮我收到上述错误。如果我用PositiveInfinityNegativeInfinity替换NaN,则会出现相同的错误。

有趣的是,如果Thickness构造函数的第一个参数包含NaN而不是第二个参数,我会得到不同的错误消息。

19

这是一个古老的问题,但我想我会给我的答案,因为我发现这个线程谷歌搜索完全相同的问题。

在我的情况下,我从网上复制了一些示例XAML以开始使用Silverlight Toolkit 4.该示例XAML包含一个简单的按钮,其中包含一个与事件处理程序无关的简单按钮,我的代码在后面。起初,我没有注意到这个简单的问题,因为编译器没有给我一个错误消息,我刚刚在运行时看到上面的错误HRESULT E_FAIL已经从调用COM组件的消息中返回。只有当我将我的示例XAML复制到一个全新的Silverlight应用程序中,而没有任何其他内容时,实际的底层问题才会在编译时显示出来。因此,如果你在运行时得到了相同的错误信息,我的建议是仔细检查你的XAML是否有任何错误,你应该在编译时选择这些错误,但是由于某种原因最终导致了错误上面提到的运行时错误。为了进行调试,您可以执行我所做的操作,并将独立Silverlight应用程序中导致错误的代码与没有其他内容的代码隔离开来,并查看是否像我一样获得更有用的错误消息来指导您。

HTH。

+1

这个问题不会有一个简单的答案。你需要仔细检查一切,并寻找incosistancies。 – RaoulRubin 2011-12-16 14:46:55

2

我从XAML的问题中得到了这个错误。奇怪的是我缺少StyleMargin属性使用的资源 - 这意味着应用程序运行正常,甚至resharper只报告'提示'。

一旦我清理了这些问题,我的“错误HRESULT E_FAIL已经从调用COM组件返回。”消失了。正如其他人所说,这是一个模糊的错误,非常难以调试。在这种情况下,我继承了一个拥有100个VS和ReSharper消息并具有不同严重性的大型项目 - 在Style上缺少StaticResource属性不是我检查的第一个地方!

1

我有这个问题,而我是编码实时视频和音频(使用微软Expression)和下一段代码抛出异常随机

// Set bitrate 
liveJob.OutputFormat.VideoProfile.Bitrate = new ConstantBitrate(2500); 

// Set Video size 
liveJob.OutputFormat.VideoProfile.Size = new Size(320,240); 

,直到我已经想通了,第二行将引发异常,而第一行仍在另一个线程中运行!

,当然,这是我的错 - 我叫代码的方法,并且它也被Click事件称为...

6

在我的情况:

我创建了一个

class MyControl : ContentControl { 
} 

默认情况下,这个类是不公开的和XAML无法加载它,并抛出异常

错误HRESULT E_FAIL有蜜蜂n从呼叫返回到COM组件

只是将类的范围更改为public并且错误消失。

希望得到这个帮助。

PS。微软应该提供更多的信息,而不仅仅是抛出一个神秘的错误消息而没有任何堆栈跟踪。

2

我在我的xaml页面出现了这个错误,并且没有语法错误。清理和重建项目解决了我的问题。 fyi ...

1

我有这个例外,疯了。我建议你检查一下,如果你最近安装了一个可能有冲突的命名空间项目的组件。在我的情况下,我安装了windows手机工具包,其中的项目与Windows Phone上的股票工具包类似。 Asap我从Nuget包管理器中卸载了这一切,一切恢复正常。

1

这是试图用MICROSOFT.TEAMFOUNDATION库查询的Team Foundation Server时,什么时候最终确定这个问题我们:

  1. 团队基础资源管理器必须与在应用程序中引用了当期的版本进行安装。
  2. MSDTC - 配置。 (请参阅下面的DTC配置)
  3. IIS应用程序池必须作为具有对Team Foundation Server的查询访问权限的帐户运行
  4. IIS应用程序池必须作为在IIS服务器上具有COM访问权限的帐户运行(我们有专用服务器,因此我们使身份用户成为本地服务器上的管理员)。
  5. 防火墙必须关闭或配置为允许COM访问DTC服务。

DTC配置----

  1. 单击开始,单击运行,键入dcomcnfg,然后单击确定以打开组件服务。
  2. 在控制台树中,单击以展开组件服务,单击以展开计算机,单击以展开我的电脑,然后单击以展开分布式事务处理协调器。
  3. 右键单击本地DTC,然后单击属性以显示本地DTC属性对话框。
  4. 单击安全选项卡。
  5. 在安全设置部分,单击网络DTC访问。
  6. 在客户端和管理部分中,选择允许远程客户端并允许远程管理。
  7. 在“事务管理器通信”部分中,选择“允许入站并允许出站”。
  8. 在事务管理器通信部分,选择需要相互身份验证(如果所有远程计算机都运行Windows Server 2003 SP1或Windows XP SP2或更高版本),请选择传入呼叫者身份验证(如果在群集中运行MSDTC),或者选择否如果某些远程计算机是Windows Server 2003 SP1之前版本或Windows XP SP2之前的版本,则需要进行身份验证。不需要认证是推荐的选择。

我希望这会有所帮助。

1

对我来说,这是一个XAML解析错误。在数据模板,我有一个额外的小号两者之间的标记(可能是因为我按下小号,而不是CTRL +小号)。例如...

<DataTemplate> 
    <Border/>s 
</DataTemplate> 

所以,我建议你在显示时会导致此异常的观点寻找格式不XML。

2

IIS应用程序池必须作为具有对Team Foundation Server的查询访问权限的帐户运行。这为我解决了这个问题。

1

我的问题是缺少风格。我已经覆盖的控制模板,自定义画笔,像这样:

<Style x:Key="MyCustomStyle" TargetType="Thumb"> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="Thumb"> 
       .... 
       <TextBlock Foreground="{StaticResource MyCustomBrush}" 

和失踪我MyCustomBrush的定义,像这样:

<SolidColorBrush x:Key="MyCustomBrush" Color="#FFAC0909"/> 

然后BOOM,应用程序没有启动和我该COM错误消息。

1

嗯,我几乎要吃我的电脑.. 最后,我发现问题是,我可能会通过事件删除一个参数的XAML页面中的Image对象的一个​​边距设置,orz ..

Margin="0,-20,0" 

这应该是

Margin="0,-20,0,0" 

很显然,我没有意识到我曾经修改了XAML的东西,所以我一直在后面的代码为故障排除“一会儿” ..

幸运的是,我发现这篇文章并重新检查了一切,包括XAML页面..那是...东西...

0

这个错误似乎是一个'全部'的错误,否则没有给出具体的定义或跟踪,尤其是那些与外部Xaml代码相关的问题。

在我的特殊情况下,名称空间似乎存在问题。我的UserControl在它自己的命名空间(创造性地命名为“UserControls”)。我的页面在他们自己的名称空间(“页面”)。我想从UserControl中引用Pages命名空间中的枚举定义,因此我只是添加了一个using语句:using MySolution.Pages;。琐碎,我不想相信这是问题所在。但是,当我删除使用语句,并简单地在我的UserControls命名空间创建枚举,瞧,没有更多的HRESULT错误,作为额外的奖励,我在UserControl中定义的依赖属性,否则神秘地不显示在Xaml intellisense ,突然在那里并准备好使用。

我怀疑在我的情况下,这个原因是某种循环引用问题。而且由于没有更多的特定错误可以将这些信息与我联系起来,因此只需将其转换为HRESULT E_FAIL Com错误。

1

对于我来说,我将其缩小到一个SplitButton控件,我从CodePlex很久以前就下载了它。我已经将解决​​方案从Silverlight 4升级到Silverlight 5,并因此出现了这个错误。我能够通过注释掉XAML将它缩小到所有控件,然后通过一个注释去掉,这回一个,直到错误再次appreared:

 
System.Reflection.TargetInvocationException was unhandled by user code 
    Message=Exception has been thrown by the target of an invocation. 
    StackTrace: 
     at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) 
     at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks) 
     at System.Delegate.DynamicInvokeImpl(Object[] args) 
     at System.Delegate.DynamicInvoke(Object[] args) 
     at Homexaml_3.BindingOperation(Object BindingState, Int32 , Action) 
    InnerException: 
     Message=Error HRESULT E_FAIL has been returned from a call to a COM component. 
     StackTrace: 
      at MS.Internal.XcpImports.CheckHResult(UInt32 hr) 
      at MS.Internal.XcpImports.UIElement_Measure(UIElement element, Size availableSize) 
      at System.Windows.UIElement.Measure(Size availableSize) 

什么固定它被手动删除过时的参考资料System.Windows.Control然后将System.Windows.Controls.Toolkit从Silverlight 5 SDK文件夹中重新添加。

希望它可以帮助某人(并帮助我!)如果它在几个月后再次发生。

1

我最近在VS 2013中为Silverlight 5项目收到了这个错误。以上都不适合我。奇怪的是,这是一个线程问题(通常我习惯于解释这个例外,如果我试图在后台线程上错误地创建UIElements)。

包装我的代码,添加UIElements到MainPage与分派器。BeginInvoke的解决了这个问题:

Dispatcher.BeginInvoke(() => 
{ 
     // your code 
}); 
0

我通过删除XAML文件解决了这个错误,并添加从添加新项目一个新的。然后我粘贴旧文件中的XAML代码。

1

大多数时候很难看到问题出现在哪里,尤其是在XAML中。 另一种方法来找出它的失败是执行以下步骤

  1. 复制它显示在Visual Studio中的输出窗口中的例外。例。 System.Reflection.TargetInvocationException
  2. 单击调试 - >例外。它显示了例外列表。
  3. 点击“添加..”按钮。
  4. 将在步骤1中复制的例外粘贴到文本框中。在下拉列表中选择“公共语言运行时例外”。
  5. 点击“确定”按钮。所选的例外将突出显示。确保您检查了该例外的复选框。再次点击“确定”按钮关闭对话框。
  6. 现在以调试模式运行应用程序。发生异常时应用程序中断。有时也在汇编模式下。
  7. 在这个时间点,你有两个选择,

    • 点击显示异常屏幕查看详情。深入探究 的内部例外情况,直到您从 的起始位置得到线索。

    • 查看调用堆栈以查看您的哪个代码行导致 此例外。这将提供解决问题的线索。

7

解决方法有很多在那里,但这个仅仅是工作多次为me.It已经尝试了VS2012 VS2013和VS2015的解决方案,我觉得工作all.Just同样遵循良好步骤娄解决这个问题

第1步:关闭Visual Studio中
步骤2:删除* .csproj.user名为.suo *文件
第3步:重新打开VS,并尝试运行项目股份公司ain进入调试模式。

注意:当多个用户在同一项目 工作VS版本不同.suo文件不支持 两个VS versions.It之间往返包含哪些设置的信息 出现这种情况当前用户已经为他/她的VS工作环境选择了 环境。

+0

在我的情况下,使用旧版本代码项目后出现此问题。它不是一开始就发生的,而是在一段时间之后。 VS GUI没有提供编辑选项,所以它变得非常不安。该程序仍然可以编译,运行和调试,只有Designer不能显示受影响的WinForm。 我按照这些步骤解决了我的问题。 _Visual Studio 2017 Community_,_.suo_文件位于: ProjectName \ **。vs ** \ ProjectName \ ** v15 ** – coarist 2017-06-18 09:21:06

0

就我而言,当我尝试将数据库导入到SSDT项目中时,该数据库已经在项目中,但是是空的。我刚刚用Tools -> SQL server -> New schema comparsion更新了我的项目。源 - 数据库,目标 - 项目。比较 - 更新。

希望它可以帮助的人

相关问题