2009-05-28 3 views
0

Я пытаюсь увидеть форму, разработанную кем-то еще (ex-employee) в Visual Studio 2008, но при попытке посмотреть на MainForm продолжаю работать при следующей ошибке. xaml (он не загружается в представлении дизайнера):Дизайнер WPF Visual Studio 2008 не загружает мои формы

Ошибка Не удалось создать экземпляр типа «NumericTextBox». D: \ MySolution \ GUI \ MainForm.xaml

Мое решение организовано что-то вроде этого (укороченный для краткости - это последняя строка это, где происходит ошибка):

\solution 
    \Gui 
     \App.xaml 
     \MainForm.xaml 
    \Utils 
     \NumericTextBox.cs 

Мой MainForm. xaml выглядит примерно так:

<Window x:Class="MyCompany.MyDepartment.MyProject.MainForm" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:local="clr-namespace:MyCompany.MyDepartment.MyProject" 
     xmlns:myproject="clr-namespace:MyCompany.MyDepartment.MyProject;assembly=MyProject" 
     xmlns:dsp="clr-namespace:MyCompany.MyDepartment.MyProject.DSP;assembly=MyProject" 
     xmlns:filters="clr-namespace:MyCompany.MyDepartment.DSP.Filters;assembly=DSP" 
     xmlns:mydepartment="clr-namespace:MyCompany.MyDepartment.Utils;assembly=Utils" 
     xmlns:scope="clr-namespace:MyCompany.MyDepartment;assembly=ScopeControl" 
     Title="MyProject" Height="900" Width="1024" 
     Loaded="Window_Loaded" 
     Closing="Window_Closing" ResizeMode="CanResize" Icon="/MyProjectGUI;component/MyProjectGUI.ico"> 

    <Window.Resources> 
    ... 
    </Window.Resources> 

    <DockPanel> 
     <StackPanel DockPanel.Dock="Left" CanVerticallyScroll="True" CanHorizontallyScroll="False"> 
      <GroupBox Name="SensorControlGroup" Header="Sensor Control"> 
      ... 
      </GroupBox> 
      <GroupBox Header="Sensor State"> 
       <StackPanel Name="SensorStackPanel"> 
        <Expander Name="EnvironmentExpander" Header="Environment"> 
        ... 
        </Expander> 
        <Expander Name="SynthExpander" Header="Synthesiser" IsExpanded="True"> 
         <Border Margin="2" Background="White" Padding="3"> 
          <Grid>         
           <Grid.ColumnDefinitions> 
            <ColumnDefinition Width="120"/> 
            <ColumnDefinition Width="60"/> 
            <ColumnDefinition Width="60"/> 
           </Grid.ColumnDefinitions> 
           <Grid.RowDefinitions> 
            <RowDefinition/> 
            <RowDefinition/> 
            <RowDefinition/> 
            <RowDefinition/> 
            <RowDefinition/> 
            <RowDefinition/> 
            <RowDefinition/> 
            <RowDefinition/> 
           </Grid.RowDefinitions> 
           <Label Grid.Column="0" Grid.Row="0">Frequency (MHz):</Label> 

           <mydepartment:NumericTextBox Grid.Column="1" 
                x:Name="SynthFrequency" DecimalPlaces="3" 
                Maximum="0" Minimum="0" /> 

Что может быть причиной этой ошибки? Все компилируется нормально, но the application crashes when I run it. Я надеялся, что две проблемы могут быть связаны с проблемой.

ответ

0

Хорошо, так получилось, что хотя Visual Studio была настроена на использование v3.5 .net framework, вам нужно отдельно установить v3.5 в фреймворк - кажется, у меня только установлен v2. Пусть это будет уроком для всех, кто борется с теми же проблемами!

1

Два упомянутых вами вопроса почти наверняка связаны. В обоих случаях файл XAML будет обработан для создания элемента управления. Один для целей проектирования, а другой для исполнения. Если во время выполнения генерируется исключение при разборе файла, то из этого следует, что у конструктора также будут проблемы с файлом.

Я думаю, вам нужно сосредоточиться на исходной ошибке, а затем вернуться к этому. Нужно почти наверняка исправить другого.

+0

Спасибо Jarad Я продолжу расследование :-) –

Смежные вопросы