BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
JCFCA
Calcite | Level 5

Hello,

 

I have the error writed in subject when i want to add a new add-in in SAS Enterprise Guide 4. I saw some old topics who talk about this error but i didn't find a proper anwser.

 

Context : I have to maintain an old add-in writed some years ago and when i just want to change a label, rebuild DLL and then add it in SAS EG4 i got this error. All i do is to change a label and generate a new solution in Visual Studio. I tried to change the framework version (from .NET 2.0 to 4) but nothing change.

 

Thanks in advance for your help.

1 ACCEPTED SOLUTION

Accepted Solutions
AlanC
Barite | Level 11

An interface is a contract. If you implement an interface, you are expected to implement all of its parts. Here is a very basic example using pseudocode:

 

interface IEGTask

{

     public void Finalize()

}

 

class MyCustomTask : IEGTask <==  Since MyCustomTask uses the IEGTask interface it must implement the Finalize method

 

I don't know what your custom task does or how it works. if you open the class file where the error is happening, in Visual Studio, you can hover on the interface and say implement interface. Interface names always start with the letter I. You are missing one of them and, therefore, you are not following the contract. Interfaces say 'you agree to do x'. 

 

What happened is that the interfaces have been updated in EG and additional methods have been added. You are now out of interface contract compliance on your custom task.

 

https://github.com/savian-net

View solution in original post

3 REPLIES 3
AlanC
Barite | Level 11

An interface is a contract. If you implement an interface, you are expected to implement all of its parts. Here is a very basic example using pseudocode:

 

interface IEGTask

{

     public void Finalize()

}

 

class MyCustomTask : IEGTask <==  Since MyCustomTask uses the IEGTask interface it must implement the Finalize method

 

I don't know what your custom task does or how it works. if you open the class file where the error is happening, in Visual Studio, you can hover on the interface and say implement interface. Interface names always start with the letter I. You are missing one of them and, therefore, you are not following the contract. Interfaces say 'you agree to do x'. 

 

What happened is that the interfaces have been updated in EG and additional methods have been added. You are now out of interface contract compliance on your custom task.

 

https://github.com/savian-net
JCFCA
Calcite | Level 5

Thank you for your reply now i understand why this error occured.

However, i can't understand why the original dll works well but not the modified dll (who don't have any error in Visual Studio, usually when all method from an interface are not in the class, VS at least warned us or the compilation will fail, here nothing wrong happen).

AlanC
Barite | Level 11

Make sure you are using the same dlls for EG. Check the versions. I can't debug it but I would suspect the dlls. 

https://github.com/savian-net

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

Creating Custom Steps in SAS Studio

Check out this tutorial series to learn how to build your own steps in SAS Studio.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 3 replies
  • 846 views
  • 2 likes
  • 2 in conversation