@prefix schema: <https://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ks: <https://comcomponent.com/vocab/> .

<https://comcomponent.com/blog/2026/03/16/007-dotnet8-dll-typed-vba-com-dscom-tlb/#article>
    schema:about <https://comcomponent.com/knowledge/vba/>, <https://comcomponent.com/knowledge/dscom/> ;
    schema:mentions <https://comcomponent.com/knowledge/com/>, <https://comcomponent.com/knowledge/type-library/>, <https://comcomponent.com/knowledge/regsvr32/>, <https://comcomponent.com/knowledge/bitness-match-requirement/>, <https://comcomponent.com/knowledge/clsid/>, <https://comcomponent.com/knowledge/iid/>, <https://comcomponent.com/knowledge/comhost/>, <https://comcomponent.com/knowledge/com-early-binding/>, <https://comcomponent.com/knowledge/com-late-binding/>, <https://comcomponent.com/knowledge/interface-is-dual/>, <https://comcomponent.com/knowledge/classinterfacetype-none/>, <https://comcomponent.com/knowledge/classinterfacetype-autodual/>, <https://comcomponent.com/knowledge/dispid-attribute/>, <https://comcomponent.com/knowledge/hresult/>, <https://comcomponent.com/knowledge/tlbexp-regasm/>, <https://comcomponent.com/knowledge/com-visible-attribute/>, <https://comcomponent.com/knowledge/vba-reference-break/>, <https://comcomponent.com/knowledge/dotnet/>, <https://comcomponent.com/knowledge/dotnet-exception/> .

<https://comcomponent.com/knowledge/vba/> a skos:Concept ;
    skos:prefLabel "VBA(Visual Basic for Applications)"@ja ;
    skos:definition "Officeアプリケーションに組み込まれたBASIC系のマクロ言語で、ExcelやAccessなどからCOMコンポーネントを呼び出せる。"@ja ;
    skos:altLabel "Visual Basic for Applications" ;
    ks:uses <https://comcomponent.com/knowledge/com-early-binding/> ;
    ks:uses <https://comcomponent.com/knowledge/com-late-binding/> .

<https://comcomponent.com/knowledge/dscom/> a skos:Concept ;
    skos:prefLabel "dscom"@ja ;
    skos:definition ".NETアセンブリからCOMのタイプライブラリ(TLB)を生成・登録するための、dSPACE社製オープンソースのコマンドラインツール。"@ja ;
    ks:implements <https://comcomponent.com/knowledge/type-library/> ;
    ks:succeeds <https://comcomponent.com/knowledge/tlbexp-regasm/> .

<https://comcomponent.com/knowledge/type-library/> a skos:Concept ;
    skos:prefLabel "型ライブラリ(TLB)"@ja ;
    skos:definition "インターフェース、メソッド、引数の型といった型情報をバイナリで持つファイル。VB6や.NETから型付きでCOMを呼び出す際の情報源になる。"@ja ;
    skos:altLabel "Type Library" ;
    skos:altLabel "TLB" ;
    skos:broader <https://comcomponent.com/knowledge/com/> .

<https://comcomponent.com/knowledge/com-early-binding/> a skos:Concept ;
    skos:prefLabel "早期バインディング(VBA)"@ja ;
    skos:definition "VBAが参照設定でタイプライブラリを読み込み、コンパイル時に型やメンバーを解決してCOMオブジェクトを扱う呼び出し方式。"@ja ;
    skos:altLabel "Early Binding" ;
    ks:requires <https://comcomponent.com/knowledge/type-library/> .

<https://comcomponent.com/knowledge/com-late-binding/> a skos:Concept ;
    skos:prefLabel "遅延バインディング(CreateObject)"@ja ;
    skos:definition "型情報を持たず、実行時にメンバーを解決してCOMオブジェクトを扱うVBAの呼び出し方式。変数はObject型になる。"@ja ;
    skos:altLabel "Late Binding" .

<https://comcomponent.com/knowledge/tlbexp-regasm/> a skos:Concept ;
    skos:prefLabel "tlbexp.exe / RegAsm.exe"@ja ;
    skos:definition ".NET Framework付属のCOMタイプライブラリ生成ツール(tlbexp.exe)とアセンブリ登録ツール(RegAsm.exe)。.NET 5以降のSDKには含まれない。"@ja ;
    skos:altLabel "Type Library Exporter" ;
    skos:altLabel "Assembly Registration Tool" .

<https://comcomponent.com/knowledge/comhost/> a skos:Concept ;
    skos:prefLabel "COM host(*.comhost.dll)"@ja ;
    skos:definition ".NET 5+/.NET 8でCOMコンポーネントを公開する際の入口となるDLLで、EnableComHostingにより生成される。"@ja ;
    skos:altLabel "comhost.dll" ;
    skos:altLabel "EnableComHosting" ;
    skos:altLabel "COM Hosting" ;
    ks:configuredBy <https://comcomponent.com/knowledge/regsvr32/> ;
    ks:requires <https://comcomponent.com/knowledge/dotnet/> ;
    ks:implements <https://comcomponent.com/knowledge/com/> ;
    ks:requires <https://comcomponent.com/knowledge/bitness-match-requirement/> .

<https://comcomponent.com/knowledge/regsvr32/> a skos:Concept ;
    skos:prefLabel "regsvr32"@ja ;
    skos:definition "DLLやOCXなどのCOMコンポーネントをレジストリへ登録・登録解除するコマンドラインツール。"@ja ;
    skos:altLabel "regsvr32.exe" ;
    ks:requires <https://comcomponent.com/knowledge/bitness-match-requirement/> .

<https://comcomponent.com/knowledge/dotnet/> a skos:Concept ;
    skos:prefLabel ".NET(Core以降)"@ja ;
    skos:definition ".NET Frameworkの後継となる、クロスプラットフォーム対応の.NETランタイム(.NET 5以降)。"@ja ;
    skos:altLabel ".NET Core" ;
    skos:altLabel "モダンな.NET"@ja ;
    ks:configuredBy <https://comcomponent.com/knowledge/com-visible-attribute/> .

<https://comcomponent.com/knowledge/com/> a skos:Concept ;
    skos:prefLabel "COM(コンポーネントオブジェクトモデル)"@ja ;
    skos:definition "公開インターフェース、レジストリ登録、Apartment Modelなどを土台にした、Windowsのバイナリ互換コンポーネントモデル。"@ja ;
    skos:altLabel "Component Object Model" ;
    ks:requires <https://comcomponent.com/knowledge/iid/> ;
    ks:requires <https://comcomponent.com/knowledge/clsid/> ;
    ks:uses <https://comcomponent.com/knowledge/hresult/> .

<https://comcomponent.com/knowledge/iid/> a skos:Concept ;
    skos:prefLabel "IID(インターフェース識別子)"@ja ;
    skos:definition "COMインターフェース(契約)を一意に識別するGUID。契約の内容が変われば必ず新しいIIDになる。"@ja ;
    skos:altLabel "Interface ID" ;
    skos:altLabel "IID" ;
    skos:broader <https://comcomponent.com/knowledge/com/> .

<https://comcomponent.com/knowledge/clsid/> a skos:Concept ;
    skos:prefLabel "CLSID(Class ID)"@ja ;
    skos:definition "COMコンポーネントの実装(クラス)を一意に指すGUID。レジストリ上の登録の鍵になる識別子。"@ja ;
    skos:altLabel "Class ID" ;
    skos:broader <https://comcomponent.com/knowledge/com/> .

<https://comcomponent.com/knowledge/vba-reference-break/> a skos:Concept ;
    skos:prefLabel "VBA参照・登録の破損"@ja ;
    skos:definition "GUIDの再生成やクラスインターフェイスの構成変更によって、公開後の既存のVBA参照設定や登録が動作しなくなること。"@ja .

<https://comcomponent.com/knowledge/classinterfacetype-autodual/> a skos:Concept ;
    skos:prefLabel "ClassInterfaceType.AutoDual"@ja ;
    skos:definition "クラスのpublicメンバーから自動的にデュアルのクラスインターフェイスを生成する指定。メンバー順や構成を変更すると互換性を壊しやすい。"@ja ;
    ks:notRecommendedFor <https://comcomponent.com/knowledge/vba/> .

<https://comcomponent.com/knowledge/classinterfacetype-none/> a skos:Concept ;
    skos:prefLabel "ClassInterfaceType.None"@ja ;
    skos:definition ".NETクラスの自動生成クラスインターフェイスを作らず、明示的に定義したインターフェイスだけをCOMに公開する指定。"@ja ;
    ks:recommendedFor <https://comcomponent.com/knowledge/vba/> .

<https://comcomponent.com/knowledge/dispid-attribute/> a skos:Concept ;
    skos:prefLabel "DispIdAttribute"@ja ;
    skos:definition "COMメンバーにディスパッチIDを明示的に割り当てる.NET属性で、公開後のメンバー順変更による事故を減らす。"@ja ;
    skos:altLabel "DispId" ;
    ks:mitigates <https://comcomponent.com/knowledge/vba-reference-break/> .

<https://comcomponent.com/knowledge/interface-is-dual/> a skos:Concept ;
    skos:prefLabel "InterfaceIsDual(デュアルインターフェイス)"@ja ;
    skos:definition "早期バインディングと遅延バインディングの両方に対応するデュアルインターフェイスとしてCOMに公開する.NETの属性指定。"@ja ;
    skos:altLabel "ComInterfaceType.InterfaceIsDual" ;
    ks:recommendedFor <https://comcomponent.com/knowledge/vba/> .

<https://comcomponent.com/knowledge/hresult/> a skos:Concept ;
    skos:prefLabel "HRESULT"@ja ;
    skos:definition "COMの呼び出し結果を表す32ビットの符号付き整数のエラーコード体系で、.NETの例外はHRESULTに対応付けられてCOM側へ伝わる。"@ja .

<https://comcomponent.com/knowledge/dotnet-exception/> a skos:Concept ;
    skos:prefLabel ".NET例外"@ja ;
    skos:definition "回復不能な異常が起きた箇所からthrowされ、呼び出し元へスタックを遡って伝播し、catchで捕捉される.NETのエラー通知の仕組み。"@ja ;
    skos:altLabel "Exception" ;
    skos:altLabel "例外処理"@ja .

<https://comcomponent.com/knowledge/com-visible-attribute/> a skos:Concept ;
    skos:prefLabel "ComVisibleAttribute"@ja ;
    skos:definition ".NETのアセンブリ・型・メンバーをCOMに公開するかどうかを制御する属性。アセンブリ全体を既定でfalseにし、公開したい型だけtrueにする運用が一般的。"@ja ;
    skos:altLabel "ComVisible" .

<https://comcomponent.com/knowledge/bitness-match-requirement/> a skos:Concept ;
    skos:prefLabel "bitness一致要件"@ja ;
    skos:definition "ネイティブモジュール(in-procのCOMコンポーネント、P/Invokeで呼ぶDLL、ベンダー提供SDKのDLLなど)を読み込むホストプロセスと、そのモジュールのビット構成(32bit/64bit)が一致していなければならないという制約。"@ja ;
    skos:altLabel "32bit/64bitの一致"@ja ;
    skos:altLabel "bitness match" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/vba/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/type-library/> ;
    schema:description "VBAが早期バインディングで型付きにCOMコンポーネントを使うには、参照設定で追加するタイプライブラリ(TLB)が前提となる。"@ja ;
    ks:evidence <https://learn.microsoft.com/ja-jp/dotnet/standard/native-interop/qualify-net-types-for-interoperation> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/com-early-binding/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/type-library/> ;
    schema:description "早期バインディングはコンパイル時にメンバーを解決する方式であり、その型情報を提供するタイプライブラリを前提とする。"@ja ;
    ks:evidence <https://learn.microsoft.com/ja-jp/dotnet/standard/native-interop/qualify-net-types-for-interoperation> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/vba/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/com-early-binding/> ;
    schema:description "VBAは参照設定でタイプライブラリを追加すると、早期バインディングで型付きにCOMコンポーネントを扱える。"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/dotnet/core/native-interop/expose-components-to-com> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/vba/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/com-late-binding/> ;
    schema:description "VBAはCreateObjectを使うと、参照設定なしの遅延バインディングでもCOMコンポーネントを扱える。"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/dotnet/core/native-interop/expose-components-to-com> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/com-late-binding/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/vba/> ;
    schema:description "CreateObjectによる遅延バインディングはIntelliSenseが効かずタイプミスが実行時まで見つからないため、型付きで安定して使いたいVBAの用途には推奨されない。"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/dotnet/core/native-interop/expose-components-to-com> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/dscom/> ;
    rdf:predicate ks:implements ;
    rdf:object <https://comcomponent.com/knowledge/type-library/> ;
    schema:description "dscomはtlbexportサブコマンドで、.NETアセンブリからタイプライブラリを生成する実装を担う。"@ja ;
    ks:evidence <https://github.com/dspace-group/dscom> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/dscom/> ;
    rdf:predicate ks:succeeds ;
    rdf:object <https://comcomponent.com/knowledge/tlbexp-regasm/> ;
    schema:description "dscomは.NET 5以降のSDKから廃止されたtlbexp.exeとRegAsm.exeによるTLB生成・アセンブリ登録の後継として作られた。"@ja ;
    ks:evidence <https://github.com/dspace-group/dscom> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/type-library/> ;
    rdf:predicate ks:configuredBy ;
    rdf:object <https://comcomponent.com/knowledge/dscom/> ;
    schema:description "dscomで.NETアセンブリから生成したタイプライブラリは、dscomのtlbregisterサブコマンドでシステムへ登録できる。"@ja ;
    ks:evidence <https://github.com/dspace-group/dscom> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/comhost/> ;
    rdf:predicate ks:configuredBy ;
    rdf:object <https://comcomponent.com/knowledge/regsvr32/> ;
    schema:description "COM host(*.comhost.dll)は、regsvr32でCOMサーバーとしてレジストリへ登録できる。"@ja ;
    ks:evidence <https://support.microsoft.com/en-us/topic/how-to-use-the-regsvr32-tool-and-troubleshoot-regsvr32-error-messages-a98d960a-7392-e6fe-d90a-3f4e0cb543e5> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/comhost/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/dotnet/> ;
    schema:description "COM host機能(EnableComHosting)は、.NET 5以降のSDK・ランタイムを前提とする。"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/dotnet/core/native-interop/expose-components-to-com> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/comhost/> ;
    rdf:predicate ks:implements ;
    rdf:object <https://comcomponent.com/knowledge/com/> ;
    schema:description "*.comhost.dllは、.NETクラスライブラリをCOMとして起動するための入口の実装を担う。"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/dotnet/core/native-interop/expose-components-to-com> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/vba/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/com/> ;
    schema:description "VBAはCOM(Component Object Model)を経由して、外部の.NETコンポーネントを呼び出す。外部コンポーネントを呼び出す場合の話で、VBA単体で完結するコードには当てはまらない"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/dotnet/core/native-interop/expose-components-to-com> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/com/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/iid/> ;
    schema:description "COMはインターフェイスをIID(Interface ID)で一意に識別することを前提とする契約である。"@ja ;
    ks:evidence <https://learn.microsoft.com/ja-jp/dotnet/standard/native-interop/qualify-net-types-for-interoperation> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/com/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/clsid/> ;
    schema:description "COMはクラスをCLSIDで一意に識別することを前提とする契約である。"@ja ;
    ks:evidence <https://learn.microsoft.com/ja-jp/dotnet/standard/native-interop/qualify-net-types-for-interoperation> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/iid/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/vba-reference-break/> ;
    schema:description "公開後にIIDを軽率に再生成すると、既存のVBA参照設定が動作しなくなることがある。"@ja ;
    ks:evidence <https://learn.microsoft.com/ja-jp/dotnet/standard/native-interop/qualify-net-types-for-interoperation> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/clsid/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/vba-reference-break/> ;
    schema:description "公開後にCLSIDを軽率に再生成すると、既存のVBAの登録・参照が動作しなくなることがある。"@ja ;
    ks:evidence <https://learn.microsoft.com/ja-jp/dotnet/standard/native-interop/qualify-net-types-for-interoperation> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/classinterfacetype-autodual/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/vba-reference-break/> ;
    schema:description "ClassInterfaceType.AutoDualは自動生成されるクラスインターフェイスがメンバー順に依存するため、公開後にメンバー順や構成を変更すると既存のVBA参照や登録を壊すことがある。"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/dotnet/api/system.runtime.interopservices.classinterfacetype> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/classinterfacetype-autodual/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/vba/> ;
    schema:description "ClassInterfaceType.AutoDualは公開後にメンバー順や構成を変更すると壊しやすいため、VBAから型付きで安定して使う用途には推奨されない。"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/dotnet/api/system.runtime.interopservices.classinterfacetype> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/classinterfacetype-none/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/vba/> ;
    schema:description "明示的なインターフェイスを定義しクラスをClassInterfaceType.Noneにする構成は、VBAから型付きで安定して使う用途に推奨される。"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/dotnet/api/system.runtime.interopservices.classinterfacetype> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/dispid-attribute/> ;
    rdf:predicate ks:mitigates ;
    rdf:object <https://comcomponent.com/knowledge/vba-reference-break/> ;
    schema:description "DispIdでメンバーのディスパッチIDを明示的に割り当てておくと、公開後のメソッド順変更によるVBA参照の破損を減らせる。"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/dotnet/api/system.runtime.interopservices.dispidattribute> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/interface-is-dual/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/vba/> ;
    schema:description "VBAから使うインターフェイスはInterfaceIsDual(デュアルインターフェイス)にするのが定石である。"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/dotnet/api/system.runtime.interopservices.cominterfacetype> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/com/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/hresult/> ;
    schema:description "COMはエラーをHRESULTで表し、.NET側で投げられた例外はVBAからはこのHRESULTを持つCOMエラーとして見える"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/api/system.runtime.interopservices.marshal.gethrforexception> ;
    ks:verifiedAt "2026-08-02" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/dotnet-exception/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/hresult/> ;
    schema:description "COM経由でVBAから呼び出された場合、.NETの例外はVBA側でCOMエラーとして現れ、Err.NumberにHRESULTとして入る値で確認できる。"@ja ;
    ks:evidence <https://learn.microsoft.com/ja-jp/dotnet/standard/native-interop/how-to-map-hresults-and-exceptions> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/dotnet/> ;
    rdf:predicate ks:configuredBy ;
    rdf:object <https://comcomponent.com/knowledge/com-visible-attribute/> ;
    schema:description ".NET側からCOMへの公開範囲は、ComVisible属性でアセンブリ・型・メンバー単位に構成できる。"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/dotnet/core/native-interop/expose-components-to-com> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/comhost/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/bitness-match-requirement/> ;
    schema:description "COM host(*.comhost.dll)は、Officeのbitness(32bit/64bit)に合わせてビルド・登録する必要がある。"@ja ;
    ks:evidence <https://support.microsoft.com/en-us/topic/how-to-use-the-regsvr32-tool-and-troubleshoot-regsvr32-error-messages-a98d960a-7392-e6fe-d90a-3f4e0cb543e5> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/dscom/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/bitness-match-requirement/> ;
    schema:description "32bitのタイプライブラリを作るdscom32.exeを動かすには、x86版の.NETランタイムが入っている必要がある。"@ja ;
    ks:evidence <https://github.com/dspace-group/dscom/releases> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/regsvr32/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/bitness-match-requirement/> ;
    schema:description "regsvr32での登録は、System32(64bit用)かSysWOW64(32bit用)かをOfficeのbitnessに合わせて選ぶ必要がある。"@ja ;
    ks:evidence <https://support.microsoft.com/en-us/topic/how-to-use-the-regsvr32-tool-and-troubleshoot-regsvr32-error-messages-a98d960a-7392-e6fe-d90a-3f4e0cb543e5> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .
