2

最近、Visual Studio 2012 RC を VS 2012 SDK および LightSwitch Extensibility Toolkit と共にインストールしました。

これは私の Client.Design -> TControl.XAML ファイルの XAML コードです

<UserControl x:Class="CustomControls.Presentation.Controls.TControl"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:framework="clr-namespace:Microsoft.LightSwitch.Presentation.Framework;assembly=Microsoft.LightSwitch.Client">   
    <Grid Width="Auto">
        <Grid.RowDefinitions>
            <RowDefinition Height="100"></RowDefinition>
            <RowDefinition Height="40"></RowDefinition>
        </Grid.RowDefinitions>
        <framework:ContentItemPresenter ContentItem="{Binding ChildItems[0]}" Grid.Row="0" Margin="3" />
        <framework:ContentItemPresenter ContentItem="{Binding ChildItems[1]}" Grid.Row="0" Margin="3" />
    </Grid>
</UserControl>

この XAML の出力がデザイナーに表示されません。代わりに、デザイナー領域に次のエラー メッセージが表示されます。

Exception: 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.Collection_InsertValue[T](PresentationFrameworkCollection`1 collection, UInt32 index, CValue value)
    at MS.Internal.XcpImports.Collection_InsertDependencyObject[T](PresentationFrameworkCollection`1 collection, UInt32 index, DependencyObject value)
    at System.Windows.PresentationFrameworkCollection`1.InsertDependencyObject(Int32 index, DependencyObject value)
    at System.Windows.Controls.UIElementCollection.InsertInternal(Int32 index, UIElement value)

これは、ここに含まれる名前空間と Silverlight のバージョンに関係があると強く思います。私のプロジェクトは、Silverlight バージョン 5 を使用するように設定されています。

簡単なグーグル検索と「Stackoverflowing」により、このエラーに関する一般的な情報が明らかになりましたが、あまり役に立ちませんでした。

どんな助けでも大歓迎です。

4

2 に答える 2

0

インストールした LS RC と 2012 SDK のバージョンは明示されていますが、インストールした拡張キットのバージョンは何ですか? 1 つがベータ版としてリリースされたことは知っていますが、もう 1 つが LS V2 RC 用に特別に発行されたかどうかはわかりません。

于 2012-06-14T17:22:22.290 に答える
0

VS2013 Ultimate でこれを修正するには、投稿http://rathodkrunal.blogspot.com/2011/11/visual-studio-2010-error-hresult-efail.htmlに従う必要がありました

ここでは、Visual Studio の ItemTemplateCache を単純に消去し、vs を /setup フラグで 1 回実行することについて説明しています。

リンクが切断された場合、または別の方法で利用できない場合は、以前の VS のキャッシュがあった場所を次に示します。

「Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplatesCache」にあるプロジェクト キャッシュを削除してから、「devenv /setup」を実行してキャッシュを再度構築し、それが役立つかどうかを確認します。

于 2014-02-12T21:55:01.250 に答える