参照される dll で Application.StartupPath を使用する場合、パスは IDE のパスを指します。
実際のアプリケーションのパスを取得する方法はありますか?
明確にするために、これは設計時のものです。
ETA: 以下に解決策を掲載しました。
ETA2:
関連しているので、別の便利な設計時サービスのスニペットを投稿しようと思いました。以下のソリューションと同様に、この例は UITypeEditor 用です。
Public Overrides Function EditValue(ByVal context As System.ComponentModel.ITypeDescriptorContext, ByVal provider As System.IServiceProvider, ByVal value As Object) As Object
Dim typeDiscovery As ITypeDiscoveryService = TryCast(provider.GetService(GetType(ITypeDiscoveryService)), ITypeDiscoveryService)
Dim types As ICollection = typeDiscovery.GetTypes(GetType(MyType), False)
End Function
types には、MyType から派生したすべての型が含まれます。2 番目のパラメーターを True に変更して、GAC の検索を除外します。すべてのタイプのリストを取得するには、最初のパラメーターとして Nothing を渡します。