お世話になります。
 この間の続きみたいな感じです。

 Shell.ApplicationのNamespaceの引数に「"shell:"+フォルダ名」とすると、例外エラーが起きてしまうようです。
 これは、こういう仕様なのか、それとも何か書き方が悪いのか、教えていただけると幸いです。
 下記がサンプルコードになります。

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;

public class MainClass{
public static void Main(){
string FolderName = "Download";
var instanceType = Type.GetTypeFromProgID("Shell.Application");
dynamic shell = Activator.CreateInstance(instanceType);
var folder = shell.Namespace("shell:"+FolderName);
string directory = folder.Self.Path;
Console.WriteLine(directory);
}
}

 そして、エラーが下記になります。

ハンドルされていない例外: Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: null 参照に対して実行時バインディングを実行することはできません
場所 CallSite.Target(Closure , CallSite , Object )
場所 System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](CallSite site, T0 arg0)
場所 MainClass.Main()

 もし解決法等がありましたら、教えていただけると幸いです。
 よろしくお願いいたします。