0

このエラーを修正するのを手伝ってください:

タイプ 'object' を 'System.Reflection.Assembly' に暗黙的に変換することはできません。明示的な変換が存在します (キャストがありませんか?)

ありがとうございました!!!

コード

var assemblyName = AssemblyName.GetAssemblyName(assemblyPath);

var ads = new AppDomainSetup
               {
                  ApplicationBase = AppDomain.CurrentDomain.SetupInformation.ApplicationBase, 
                  DisallowCodeDownload = true 
               };

AppDomain newDomainName = AppDomain.CreateDomain("newDomainName", null, ads);

Assembly testLibrary = newDomainName.CreateInstanceAndUnwrap(assemblyName.Name,
                      typeof(System.Windows.Controls.UserControl).Name);  // Here the error occures
4

3 に答える 3

3

CreateInstanceAndUnwrapSystem.Windows.Controls.UserControlは、ではなく、作成された型 (上記のコード)のインスタンスを返しますAssembly。コードは次のようになります。

UserControl userControl = (UserControl) newDomainName.CreateInstanceAndUnwrap(
    assemblyName.Name, typeof(System.Windows.Controls.UserControl).Name);
于 2012-09-17T14:00:00.917 に答える
0
public Object CreateInstanceAndUnwrap(
    string assemblyName,
    string typeName)

オブジェクトが返され、アセンブリが必要です。再確認してください。

于 2012-09-17T14:01:25.697 に答える
0

FullNameプロパティで試してください:

typeof(System.Windows.Controls.UserControl).FullName

編集:

assemblyName.FullName も試してください

msdnによると、両方ともフル ネームである必要があります。

于 2012-09-17T13:52:17.970 に答える