14
Views
6
Comments
Solved
Integration Studio v11.9 Compiler Error
Application Type
Traditional Web, Mobile, Reactive, Service
Service Studio Version
11.9.1 (Build 33435)

I started Integration Studio with a new Extension, added 1 external table under Entities, and when I tried to publish, I've got a Compile error. I have VS2019 installed on the same machine. Attaching a screenshot too. Please advise.


NET Compilation.

Project file contains ToolsVersion="12.0". This toolset may be unknown or missing, in which case you may be able to resolve this by installing the appropriate version of MSBuild, or the build may have been forced to a particular ToolsVersion for policy reasons. Treating the project as if it had ToolsVersion="4.0". For more information, please see http://go.microsoft.com/fwlink/?LinkId=291333.
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3268: The primary reference "OutSystems.HubEdition.RuntimePlatform" could not be resolved because it has an indirect dependency on the framework assembly "System.ValueTuple, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" which could not be resolved in the currently targeted framework. ".NETFramework,Version=v4.6.1". To resolve this problem, either remove the reference "OutSystems.HubEdition.RuntimePlatform" or retarget your application to a framework version which contains "System.ValueTuple, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51".
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3268: The primary reference "OutSystems.REST.API" could not be resolved because it has an indirect dependency on the framework assembly "System.ValueTuple, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" which could not be resolved in the currently targeted framework. ".NETFramework,Version=v4.6.1". To resolve this problem, either remove the reference "OutSystems.REST.API" or retarget your application to a framework version which contains "System.ValueTuple, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51".
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3268: The primary reference "OutSystems.SOAP.API" could not be resolved because it has an indirect dependency on the framework assembly "System.ValueTuple, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" which could not be resolved in the currently targeted framework. ".NETFramework,Version=v4.6.1". To resolve this problem, either remove the reference "OutSystems.SOAP.API" or retarget your application to a framework version which contains "System.ValueTuple, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51".
TestExt1.cs(4,29): error CS0234: The type or namespace name 'RuntimePlatform' does not exist in the namespace 'OutSystems.HubEdition' (are you missing an assembly reference?)
TestExt1.cs(5,18): error CS0234: The type or namespace name 'RuntimePublic' does not exist in the namespace 'OutSystems' (are you missing an assembly reference?)
Interface.cs(4,29): error CS0234: The type or namespace name 'RuntimePlatform' does not exist in the namespace 'OutSystems.HubEdition' (are you missing an assembly reference?)
Structures.cs(8,29): error CS0234: The type or namespace name 'RuntimePlatform' does not exist in the namespace 'OutSystems.HubEdition' (are you missing an assembly reference?)
Structures.cs(9,29): error CS0234: The type or namespace name 'RuntimePlatform' does not exist in the namespace 'OutSystems.HubEdition' (are you missing an assembly reference?)
Entities.cs(8,29): error CS0234: The type or namespace name 'RuntimePlatform' does not exist in the namespace 'OutSystems.HubEdition' (are you missing an assembly reference?)
Entities.cs(9,29): error CS0234: The type or namespace name 'RuntimePlatform' does not exist in the namespace 'OutSystems.HubEdition' (are you missing an assembly reference?)
Records.cs(9,29): error CS0234: The type or namespace name 'RuntimePlatform' does not exist in the namespace 'OutSystems.HubEdition' (are you missing an assembly reference?)
Records.cs(10,29): error CS0234: The type or namespace name 'RuntimePlatform' does not exist in the namespace 'OutSystems.HubEdition' (are you missing an assembly reference?)
RecordLists.cs(9,29): error CS0234: The type or namespace name 'RuntimePlatform' does not exist in the namespace 'OutSystems.HubEdition' (are you missing an assembly reference?)
RecordLists.cs(10,29): error CS0234: The type or namespace name 'RuntimePlatform' does not exist in the namespace 'OutSystems.HubEdition' (are you missing an assembly reference?)
RecordLists.cs(12,29): error CS0234: The type or namespace name 'RuntimePlatform' does not exist in the namespace 'OutSystems.HubEdition' (are you missing an assembly reference?)

servicestudioerror.png

Solution

It seems like this time is the project target framework that is the problem, try this:

Right-click your project on VS

Properties

Under the Application tab select another value for "Target Framework"

It seems like .NET Framework 4.7.2 has this reference, if you need you can download it here: https://dotnet.microsoft.com/download/dotnet-framework/net472


I got some info in this SO question: https://stackoverflow.com/questions/42867434/could-not-load-file-or-assembly-system-valuetuple

Hello herman-z

See if this answer can help you: https://www.outsystems.com/forums/discussion/53383/extension-compile-error-toolversion/#Post199958

Rank: #37852

Hi Cassio,

Thank you for your response. I followed the link to go to https://stackoverflow.com/questions/20886391/vs-2012-project-failed-to-build-because-of-missing-toolset

but the solution suggested didn't solve my issue.

What I did:

- Launched Integration Studio, created a new Extension, click Verify button and received the "Project file contains ToolsVersion="12.0". " error

- Inside Integration Studio, I clicked on the "Edit Source Code in .NET" button which launched VS.NET2019 for my project and then I followed the steps in the above link to unload project, changed ToolsVersion from 12.0 to 4.0, saved it and reloaded the project. It builds successfully within VS.NET 2019.

- I then went back to Integration Studio and clicked on Verify button again.

- This time I received a different error message below. So it looks like I am making some progress but I am missing 3 references. I don't understand how come it compiles under VS.NET but not Integration Studio. Maybe there is a way to add references in Integration Studio? Any suggestions? 

Thank you!


.NET Compilation.


C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3268: The primary reference "OutSystems.HubEdition.RuntimePlatform" could not be resolved because it has an indirect dependency on the framework assembly "System.ValueTuple, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" which could not be resolved in the currently targeted framework. ".NETFramework,Version=v4.6.1". To resolve this problem, either remove the reference "OutSystems.HubEdition.RuntimePlatform" or retarget your application to a framework version which contains "System.ValueTuple, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51". 

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3268: The primary reference "OutSystems.REST.API" could not be resolved because it has an indirect dependency on the framework assembly "System.ValueTuple, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" which could not be resolved in the currently targeted framework. ".NETFramework,Version=v4.6.1". To resolve this problem, either remove the reference "OutSystems.REST.API" or retarget your application to a framework version which contains "System.ValueTuple, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51". 

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3268: The primary reference "OutSystems.SOAP.API" could not be resolved because it has an indirect dependency on the framework assembly "System.ValueTuple, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" which could not be resolved in the currently targeted framework. ".NETFramework,Version=v4.6.1". To resolve this problem, either remove the reference "OutSystems.SOAP.API" or retarget your application to a framework version which contains "System.ValueTuple, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51". 

Test2.cs(4,29): error CS0234: The type or namespace name 'RuntimePlatform' does not exist in the namespace 'OutSystems.HubEdition' (are you missing an assembly reference?) 

Test2.cs(5,18): error CS0234: The type or namespace name 'RuntimePublic' does not exist in the namespace 'OutSystems' (are you missing an assembly reference?) 

Interface.cs(4,29): error CS0234: The type or namespace name 'RuntimePlatform' does not exist in the namespace 'OutSystems.HubEdition' (are you missing an assembly reference?) 

Structures.cs(8,29): error CS0234: The type or namespace name 'RuntimePlatform' does not exist in the namespace 'OutSystems.HubEdition' (are you missing an assembly reference?) 

Structures.cs(9,29): error CS0234: The type or namespace name 'RuntimePlatform' does not exist in the namespace 'OutSystems.HubEdition' (are you missing an assembly reference?) 

Entities.cs(8,29): error CS0234: The type or namespace name 'RuntimePlatform' does not exist in the namespace 'OutSystems.HubEdition' (are you missing an assembly reference?) 

Entities.cs(9,29): error CS0234: The type or namespace name 'RuntimePlatform' does not exist in the namespace 'OutSystems.HubEdition' (are you missing an assembly reference?) 

Records.cs(9,29): error CS0234: The type or namespace name 'RuntimePlatform' does not exist in the namespace 'OutSystems.HubEdition' (are you missing an assembly reference?) 

Records.cs(10,29): error CS0234: The type or namespace name 'RuntimePlatform' does not exist in the namespace 'OutSystems.HubEdition' (are you missing an assembly reference?) 

RecordLists.cs(9,29): error CS0234: The type or namespace name 'RuntimePlatform' does not exist in the namespace 'OutSystems.HubEdition' (are you missing an assembly reference?) 

RecordLists.cs(10,29): error CS0234: The type or namespace name 'RuntimePlatform' does not exist in the namespace 'OutSystems.HubEdition' (are you missing an assembly reference?) 

RecordLists.cs(12,29): error CS0234: The type or namespace name 'RuntimePlatform' does not exist in the namespace 'OutSystems.HubEdition' (are you missing an assembly reference?) 

Solution

It seems like this time is the project target framework that is the problem, try this:

Right-click your project on VS

Properties

Under the Application tab select another value for "Target Framework"

It seems like .NET Framework 4.7.2 has this reference, if you need you can download it here: https://dotnet.microsoft.com/download/dotnet-framework/net472


I got some info in this SO question: https://stackoverflow.com/questions/42867434/could-not-load-file-or-assembly-system-valuetuple

Here is a source for what version of .NET you should be using in your extensions:

https://success.outsystems.com/Documentation/How-to_Guides/Integrations/How_to_use_.NET_Standard_libraries_in_OutSystems_extensions

Rank: #37852

Cassio! Thank you! I changed the project .NET framework reference to 4.7.2, saved, and compiled. And it worked!!

My dev machine only has VS 2019 Community version installed. Do you think I should install VS 2017 too?

Does Outsystems 11 have better compatibility with VS2017?

Thanks a lot!!!

Herman

Hi Herman, I'm not sure, but I don't think you need to install VS 2017, if you configured and make work in 2019 you should be fine.

Glad you could make it work.

Best regards.