Skip to content

Commit 79a7ff4

Browse files
ghogenAaronRobinsonMSFTdenrea
authored
New article - resolving COM references (#13997)
* Begin first draft of new article * Rename * some small improvements * add more details * add examples, other additions and edits * more tweaks * minor cleanup * Apply suggestions from code review Co-authored-by: Aaron Robinson <[email protected]> * Add toc, links, more text * fix links * Improvements general * Add image and text * more small changes * more additions * fix names of task and target * Fix errors and improve tools section * add file I/O section and other changes * Mention failure to scan dependencies as another potential issue * Change image to make it more readable * Incorporate suggestions * Acrolinx fixes --------- Co-authored-by: Aaron Robinson <[email protected]> Co-authored-by: Dennis Rea <[email protected]>
1 parent 3719916 commit 79a7ff4

28 files changed

+292
-13
lines changed

docs/msbuild/common-msbuild-project-items.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ This item doesn't apply to non-.NET projects.
5353
|WrapperTool|Optional string. The name of the wrapper tool that is used on the component. Values are:<br /><br />1. primary<br />2. tlbimp<br />3. primaryortlbimp<br />4. `aximp`|
5454
|Isolated|Optional boolean. Specifies whether the component is a reg-free component.|
5555

56+
See [Troubleshoot COM references](troubleshoot-com-references.md).
57+
5658
## COMFileReference
5759

5860
Represents a list of type libraries to reference by file path, instead of using the system registry. This type of reference can be a good alternative to COMReference in cases where you want to avoid a dependency on the build machine's registry, either because the account that runs the build doesn't have elevated privileges to edit the registry on the build server, or you don't want the build to have a dependency on the state of the registry. If you use `COMFileReference` to reference an artifact on a system path, then your build has a dependency on the system state. If the system artifact changes due to a change in the state of the system, such as when products are installed, updated, or uninstalled (or if you run the same build on a different machine), then the wrapper assembly can change, even if the build logic hasn't changed. To ensure a consistent build result, you can cache a known copy of the COM artifact in a place you control, such as under your project or solution folder, and reference that instead of the system artifact.
@@ -64,6 +66,8 @@ This item doesn't apply to non-.NET projects.
6466
|EmbedInteropTypes|Optional boolean. If true, embed the interop types from this reference directly into your assembly rather than generating an interop DLL.|
6567
|WrapperTool|Optional string. The name of the wrapper tool that is used on the component. Values are:<br /><br />1. primary<br />2. tlbimp<br />3. primaryortlbimp<br />4. `aximp`|
6668

69+
See [Troubleshoot COM references](troubleshoot-com-references.md).
70+
6771
## NativeReference
6872

6973
Represents a native manifest file or a reference to such a file.

docs/msbuild/errors/msb3281.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ ms.subservice: msbuild
2121

2222
<!-- :::ErrorDefinitionDescription::: -->
2323
<!-- :::editable-content name="introDescription"::: -->
24-
This article describes the MSB3281 error code.
24+
This article describes the MSB3281 error code.
2525
<!-- :::editable-content-end::: -->
2626

2727
## Message text
@@ -35,6 +35,9 @@ This article describes the MSB3281 error code.
3535
<!--
3636
{StrBegin="MSB3281: "}
3737
-->
38+
## Related content
39+
40+
- [Troubleshoot COM references](../troubleshoot-com-references.md).
3841
<!-- :::editable-content-end::: -->
3942
<!-- :::ErrorDefinitionDescription-end::: -->
4043

docs/msbuild/errors/msb3282.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ This article describes the MSB3282 error code.
3535
<!--
3636
{StrBegin="MSB3282: "}
3737
-->
38+
## Related content
39+
40+
- [Troubleshoot COM references](../troubleshoot-com-references.md).
3841
<!-- :::editable-content-end::: -->
3942
<!-- :::ErrorDefinitionDescription-end::: -->
4043

docs/msbuild/errors/msb3283.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ Check all the information provided in the `COMReference` or `COMFileReference`.
4747
`COMReference` uses the registry, so if you're using `COMReference`, you should verify that the COM component is correctly registered. See [Registering COM applications](/windows/win32/com/registering-com-applications).
4848

4949
You can avoid registering the COM components on the build machine by using `COMFileReference`.
50+
51+
## Related content
52+
53+
- [Troubleshoot COM references](../troubleshoot-com-references.md).
5054
<!-- :::editable-content-end::: -->
5155
<!-- :::ErrorDefinitionDescription-end::: -->
5256

docs/msbuild/errors/msb3284.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,10 @@ This error occurs when MSBuild can't get the file path for a requested type libr
4040
Look to the additional information provided by the operating system to determine the cause of the problem. Typical causes include incorrect or invalid GUIDs, incorrect version numbers, or a component isn't installed.
4141

4242
Try checking the registry yourself to make sure the requested component is represented. For more information, see [COM registry keys](/windows/win32/com/com-registry-keys).
43+
44+
## Related content
45+
46+
- [Troubleshoot COM references](../troubleshoot-com-references.md).
4347
<!-- :::editable-content-end::: -->
4448
<!-- :::ErrorDefinitionDescription-end::: -->
4549

docs/msbuild/errors/msb3285.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@ This article describes the MSB3285 error code.
3535
<!--
3636
{StrBegin="MSB3285: "}
3737
-->
38+
39+
## Related content
40+
41+
- [Troubleshoot COM references](../troubleshoot-com-references.md).
3842
<!-- :::editable-content-end::: -->
3943
<!-- :::ErrorDefinitionDescription-end::: -->
4044

docs/msbuild/errors/msb3286.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@ This article describes the MSB3286 error code.
3535
<!--
3636
{StrBegin="MSB3286: "}
3737
-->
38+
39+
## Related content
40+
41+
- [Troubleshoot COM references](../troubleshoot-com-references.md).
3842
<!-- :::editable-content-end::: -->
3943
<!-- :::ErrorDefinitionDescription-end::: -->
4044

docs/msbuild/errors/msb3287.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ This article describes the MSB3287 error code.
3535
<!--
3636
{StrBegin="MSB3287: "}
3737
-->
38+
## Related content
39+
40+
- [Troubleshoot COM references](../troubleshoot-com-references.md).
3841
<!-- :::editable-content-end::: -->
3942
<!-- :::ErrorDefinitionDescription-end::: -->
4043

docs/msbuild/errors/msb3288.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ This article describes the MSB3288 error code.
3535
<!--
3636
{StrBegin="MSB3288: "}
3737
-->
38+
## Related content
39+
40+
- [Troubleshoot COM references](../troubleshoot-com-references.md).
3841
<!-- :::editable-content-end::: -->
3942
<!-- :::ErrorDefinitionDescription-end::: -->
4043

docs/msbuild/errors/msb3290.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@ This error occurs when MSBuild tries to create the wrapper assembly for a type l
3838
## Resolution
3939

4040
The standard output message text is followed by additional information from the operating system. Look to the additional information provided to determine the cause of the problem.
41+
42+
## Related content
43+
44+
- [Troubleshoot COM references](../troubleshoot-com-references.md).
4145
<!-- :::editable-content-end::: -->
4246
<!-- :::ErrorDefinitionDescription-end::: -->
4347

0 commit comments

Comments
 (0)