2012-01-02 67 views
1

我不断收到此错误:什么是这个错误:System.Runtime.InteropServices.COMException?

 
System.Runtime.InteropServices.COMException was thrown on "C:\Users\---\documents\visual studio 2010\Projects\TBrowser\TBrowser\TBrowserWindow.xaml": Error HRESULT E_FAIL has been returned from a call to a COM component. 

但是我没有在我的.xaml文件COM组件。它不断弹出,说错误的位置是1号线1列,我只是有一个Window那里,没有别的:

<Window x:Class="TBrowser.TBrowserWindow" 
     xmlns:my="clr-namespace:TBrowser" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Height="800" Width="900" Icon="/TBrowser;component/Images/Icons/Icon.ico" MinHeight="143" MinWidth="358" Background="White" Loaded="Window_Loaded" Name="TBWindow1"> 
    <Window.Resources> 
     <ResourceDictionary> 
      <ResourceDictionary.MergedDictionaries> 
       <ResourceDictionary Source="Themes/Generic.xaml" /> 
      </ResourceDictionary.MergedDictionaries> 
     </ResourceDictionary> 
    </Window.Resources> 

    <DockPanel x:Name="Layout"> 
     <StatusBar Height="24" Name="TBStatusBar1" Background="WhiteSmoke" BorderBrush="Black" BorderThickness="0,1,0,0" VerticalContentAlignment="Bottom" DockPanel.Dock="Bottom"> 
      <StatusBarItem Width="300" HorizontalAlignment="Left" Padding="1" /> 
      <StatusBarItem HorizontalAlignment="Right" Padding="0" Margin="1" VerticalContentAlignment="Stretch"> 
       <ProgressBar Width="146" Height="18" HorizontalAlignment="Left" Margin="1" Name="TBProgessBar1"></ProgressBar> 
      </StatusBarItem> 
     </StatusBar> 

     <my:TBOutputPannel x:Name="TBOutputPannel1" DockPanel.Dock="Bottom" MinHeight="48" MaxHeight="200" Visibility="Collapsed" /> 

     <my:TBControlBar Height="48" VerticalAlignment="Top" x:Name="TBControlBar1" DockPanel.Dock="Top"> 
      <my:TBControlBar.ContextMenu> 
       <ContextMenu> 
        <MenuItem Header="Menubar" IsCheckable="True" IsChecked="True" /> 
        <MenuItem Header="Favsbar" IsCheckable="True" IsChecked="True" /> 
        <MenuItem Header="Statusbar" IsCheckable="True" IsChecked="True" /> 
       </ContextMenu> 
      </my:TBControlBar.ContextMenu> 
     </my:TBControlBar> 
     <Grid DockPanel.Dock="Bottom"> 
      <my:TBTabControl x:Name="TBTabControl1"> 
       <my:TBAddTabItem Height="28" HorizontalAlignment="Left" IsSelected="False" Margin="0" x:Name="TBAddTabItem" VerticalAlignment="Top" Width="28"></my:TBAddTabItem> 
      </my:TBTabControl> 
      <Menu Height="24" Name="TBMenu1" VerticalAlignment="Top" Margin="0,29,0,0" Background="WhiteSmoke"> 
       <MenuItem Header="File"> 
        <MenuItem Header="New tab" InputGestureText="Ctrl+T" Click="MenuItem_Click"> 
         <MenuItem.Icon> 
          <Image Source="/TBrowser;component/Images/Images/TBNewTabIcon1.png" /> 
         </MenuItem.Icon> 
        </MenuItem> 
        <MenuItem Header="Duplicate tab" InputGestureText="Ctrl+K" Click="MenuItem_Click_1" /> 
        <MenuItem Header="New window" InputGestureText="Ctrl+N" /> 
        <MenuItem Header="New session" /> 
        <MenuItem Command="ApplicationCommands.Open" Header="Open" /> 
        <MenuItem Header="Edit with Notepad" /> 
        <MenuItem Command="ApplicationCommands.Save" Header="Save" IsEnabled="False" /> 
        <MenuItem Command="ApplicationCommands.SaveAs" Header="Save As..." InputGestureText="Ctrl+S" /> 
        <MenuItem Header="Close tab" InputGestureText="Ctrl+W" /> 
        <Separator /> 
        <MenuItem Header="Page setup" /> 
        <MenuItem Command="ApplicationCommands.Print" Header="Print" InputGestureText="Ctrl+P" /> 
        <MenuItem Command="ApplicationCommands.PrintPreview" Header="Print preview" /> 
        <MenuItem /> 
       </MenuItem> 
      </Menu> 
      <ToolBar Height="24" Margin="0,52,0,0" Name="TBFavsbar1" VerticalAlignment="Top" Style="{StaticResource TBFavsbar}"> 
       <my:TBFavsItem isAdder="True" IconSource="/TBrowser;component/Images/Images/TBAddFavs1.png" Margin="2,1,0,0" /> 
       <Separator Margin="2,1,0,0" /> 
      </ToolBar> 
     </Grid> 
    </DockPanel> 

    <Window.TaskbarItemInfo> 
     <TaskbarItemInfo x:Name="Display" /> 
    </Window.TaskbarItemInfo> 
</Window> 

我甚至不断收到此错误:

System.NullReferenceException was unhandled by user code 
    Message=Object reference not set to an instance of an object. 
    Source=TBrowser 
    StackTrace: 
     at TBrowser.TBrowserWindow.TBMenubar1ShowButton_Checked(Object sender, RoutedEventArgs e) in C:\Users\---\documents\visual studio 2010\Projects\TBrowser\TBrowser\TBrowserWindow.xaml.cs:line 137 
     at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs) 
     at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised) 
     at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args) 
     at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e) 
     at System.Windows.Controls.MenuItem.OnChecked(RoutedEventArgs e) 
     at System.Windows.Controls.MenuItem.OnIsCheckedChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) 
     at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e) 
     at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e) 
     at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args) 
     at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType) 
     at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal) 
     at System.Windows.Baml2006.WpfKnownMemberInvoker.SetValue(Object instance, Object value) 
     at MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(XamlMember member, Object obj, Object value) 
     at MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(Object inst, XamlMember property, Object value) 

这是什么即时通讯使用:

private void TBMenubar1ShowButton_Checked(object sender, RoutedEventArgs e) 
{ 
    TBMenu1.Visibility = System.Windows.Visibility.Visible; 
    TBrowser.Properties.Settings.Default.Menubar = System.Windows.Visibility.Visible; 
} 

而我不知道发生了什么事情。

+0

我要猜你在Visual Studio中得到这个错误,你尝试运行这个项目,甚至之前。 VS大量使用COM。该错误非常不具描述性,但通常是由VS安装问题或注册表损坏引起的。 – 2012-01-02 17:24:58

+0

不,我使用的是Visual C#Express 2010. – thakyZ 2012-01-02 17:52:20

回答

2

我认为它是通过向应用程序发送一个64位的INT引起的,例如需要一个32位的INT来解决(如果是这个问题),请遵循以下步骤。

右键单击Project(在解决方案资源管理器中) - > Properties,Build Tab,Platform target set x86。然后做一个清洁生成,并给它一个旋风。

Platform Target

+0

我找不到它我正在使用Visual C#Express 2010,我无法在Build选项卡或BuildEvents选项卡中找到它。 – thakyZ 2012-01-02 17:51:54

+0

@Thaky,ive添加了一个图像,但林不知道它是否会看起来是相同的,因为我运行不同版本的VS2010;) – craig1231 2012-01-02 17:56:52

+0

它不是那里这就是它显示:http://www.mediafire.com/i /?77syfy5o171a2pg – thakyZ 2012-01-02 17:59:36