2009-05-07 8 views
3

私は、デバッグアセンブリがスペースを節約するためにSilverlightランタイムから意図的に除外されたことを知りました。そのため、Silverlight SDKがインストールされているローカルマシン上に詳細なエラーメッセージが表示されますが、ランタイムのみのコンピュータでは表示されません。私はどこにでもある、 "デバッグリソース文字列は利用できません。Silverlight 2アプリケーションにデバッグアセンブリを追加する方法は?

残念ながら私の要件は少しユニークです。私は正規表現のエラーの詳細を私に与えるデバッグアセンブリ(まだどちらか確かなもの)を含める必要があります。そして、本質的には、できる限り私はxapにdllを含めたいと思っています。

問題は私がこれを行うように見えないことです。私は、デバッグdllを参照として追加し、それらを "ローカルコピー"に設定しようとしました。そして私はそれらをコンテンツとしてプロジェクトに追加しようとしました。しかし、どちらの方法でも、xapのサイズはほとんど拡大せず、エラーメッセージも変わりません。

アイデア?

答えて

3

実際にSilverlight Developer Runtimeをインストールする必要があります(SDKをインストールしたマシンにエラーなどが表示される)。実動ソリューションにデバッグアセンブリを追加し、非開発者ランタイム経由でアクセスすることはできません。

Scott Barnes/Rich Platformsプロダクトマネージャー/ Microsoft。

+0

ありがとうございます。それは私が考え始めたことです。 もう1つのオプションは、正規表現の前後にtry/catchを実行してエラーがある場合、正規表現をWebサービスに送信してエラーの詳細を返信するとします。完璧な解決策は私の考えではありませんが、そのようなことをする可能性があります。 私はそれをすべて非同期的に行うと、応答性の高いUIエクスペリエンスを作り出す必要があります。ところで、これはwww.regexhero.comのすべてです ありがとう、また スティーブ –

+1

これはまだSilverlight 3.0とSilverlight 4.0での制限ですか?これらの文字列がValidationSummaryコントロールで使用されることがあるため、検証を行う際に問題になるため、私は尋ねます。 – Scott

1

私の解決策は、基本的に私がやろうとしていたことをあきらめることでした。代わりに、私は今正規表現の周りに例外が発生するたびにWebサービスを呼び出しています。そのWebサービスには、GetRegexErrorという関数があります。

は、ここでのコードです:

<WebMethod()> _ 
Public Function GetRegexError(ByVal strRegex As String, ByVal _regexOptions As RegexOptions) As String 
    Try 
     Dim _regex As New Regex(strRegex, _regexOptions) 
    Catch ex As Exception 
     Return ex.Message 
    End Try 

    Return "" 
End Function 

これは今Regex Heroで実装されています。助けをいただきありがとうございます。

関連する問題