Vasilis Prantzos
Posts: 9
Joined: 2020-08-30
|
Hi!
I am having trouble registering my ADX project from the context menu (Add-in Express=> Register).
A NotImplementedException exception is thrown by AddinExpress.Projects.Common.Registrator.RegisterADXProject .
This is the log entry:
<LogEntry Date="2020-09-07 16:30:45" Severity="Exception" Source="AddinExpress.Projects.Common.Registrator.RegisterADXProject" ProcessId="1636">
<Exception Type="System.NotImplementedException" Source="EnvDTE.Property.set_Value">
<Message>The method or operation is not implemented.</Message>
<StackTrace> at EnvDTE.Property.set_Value(Object lppvReturn)
at AddinExpress.Projects.Common.Registrator.VSLangRebuild(Project project, Boolean register)
at AddinExpress.Projects.Common.Registrator.RebuildProject(Project project, Boolean register)
at AddinExpress.Projects.Common.Registrator.RegisterADXProject(Project project)</StackTrace>
</Exception>
</LogEntry>
<LogEntry Date="2020-09-07 16:37:23" Severity="Exception" Source="AddinExpress.Projects.Common.Registrator.dteBuildEvents_OnBuildProjConfigDone" ProcessId="1636">
<Exception Type="System.Runtime.Serialization.SerializationException" Source="AddinExpress.Projects.Common.Registrator.set_TargetProject">
<Message>Type 'Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Package.Automation.OAProject' in assembly 'Microsoft.VisualStudio.ProjectSystem.VS.Implementation, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' is not marked as serializable.</Message>
<StackTrace> at AddinExpress.Projects.Common.Registrator.set_TargetProject(Project value)
at AddinExpress.Projects.Common.Registrator.dteBuildEvents_OnBuildProjConfigDone(String projectUniqueName, String ProjectConfig, String Platform, String SolutionConfig, Boolean Success)</StackTrace>
</Exception>
</LogEntry>
We have performed an overdue cleanup of our solution, part of which was to update the csproj files.
This happened after moving to the 2017 sdk-style csproj file structure.
Is there any configuration we need to do so that the project can be registered correctly?
If not, then can we perform the registration using a script with manual steps as a workaround?
Could you please help out in identifying what the problem is and in fixing the project's registration? |
|
Andrei Smolin
Add-in Express team
Posts: 18823
Joined: 2006-05-11
|
Hello Vasilis,
Add-in Express doesn't support that project format. It targets multiple platforms, while the .NET Framework (and Add-in Express) only targets Windows. Note that .NET Core doesn't provide a possibility to register your add-in with COM: in the project properties, on the Build tab, the corresponding check box is disabled. I suppose this is because that option is a Windows-specific thing.
Andrei Smolin
Add-in Express Team Leader |
|
Vasilis Prantzos
Posts: 9
Joined: 2020-08-30
|
Hi Andrei,
I hope you are doing well, thank you for your answer!
I see you are right ComInterop registration is disabled. I am not targeting netstandard or netcore, I am targeting net472 though.
After reading about it in Microsoft's devblogs, (https://devblogs.microsoft.com/dotnet/introducing-net-5/, https://devblogs.microsoft.com/dotnet/announcing-net-core-3-0-preview-5/), I see that .NET5 (and even .NET Core 3 preview 5) has some support concerning COM Interop. But I am not sure about registering a dotnet assembly for com interop.
Are you aware of how this works since .NET5 is due for November.
Any plans to update support for .NET5 if there is a solution for COM interoperability support in .NET5? |
|
Andrei Smolin
Add-in Express team
Posts: 18823
Joined: 2006-05-11
|
|
Vasilis Prantzos
Posts: 9
Joined: 2020-08-30
|
Thank you Andrei for your response,
I will check and follow the other topic.
Kind regards,
Vasily |
|