You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Jens Geyer (Jira)" <ji...@apache.org> on 2020/05/05 20:57:00 UTC

[jira] [Comment Edited] (THRIFT-5169) Improve dotnet project files for the .NET Standard build, and integrate with cmake

    [ https://issues.apache.org/jira/browse/THRIFT-5169?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17100253#comment-17100253 ] 

Jens Geyer edited comment on THRIFT-5169 at 5/5/20, 8:56 PM:
-------------------------------------------------------------

AFAIK the defautls are used, which means the binaries are placed under bin/Release/targetPlatform or somethingh along that. If you want it elsewhere you need to set the outdir to wherever you want it to be. 

There is no common out dir in the autotools version, that is shared across languages. For the cross tests there is tests.json which simply runs {{dotnet run}} on the csproj (maybe we should change that as well while we're at it now that we have real dotnet executables)

Would it help to use relative dirs? 

___
https://thrift.apache.org/test/








was (Author: jensg):
AFAIK the defautls are used, which means the binaries are placed under bin/Release/targetPlatform or somethingh along that. If you want it elsewhere you need to set the outdir to wherever you want it to be. 

There is no common out dir in the autotools version, that is shared across languages. For the cross tests there is tests.json which simply runs {{dotnet run}} on the csproj (maybe we should change that as well while we're at it now that we have real dotnet executables)

Does that help?

___
https://thrift.apache.org/test/







> Improve dotnet project files for the .NET Standard build, and integrate with cmake
> ----------------------------------------------------------------------------------
>
>                 Key: THRIFT-5169
>                 URL: https://issues.apache.org/jira/browse/THRIFT-5169
>             Project: Thrift
>          Issue Type: Improvement
>          Components: netstd - Library
>    Affects Versions: 0.13.0
>            Reporter: Mario Emmenlauer
>            Assignee: Mario Emmenlauer
>            Priority: Minor
>
> I'm working on a number of improvements for the .NET Standard Visual Studio project files. Currently it seems to me that the following changes are required:
>  * I can not use the detection of the thrift compiler using the section {{<Exec Condition="'$(OS)' == 'Windows_NT'" Command="where thrift" ConsoleToMSBuild="true">}} because it breaks the build for me. But I am also under the impression that this is not clean by design. Autotools place the thrift compiler into a specific directory, and I've modified the cmake build to also do that. I think this is sensible, that all tutorials and tests use *only* the thrift compiler from the current build, and fail otherwise. This seems sensible because any other system-installed thrift compiler may behave different and may not lead to the desired result of tests/tutorials, which becomes very hard to debug with the auto-detection mechanism.
>  * The Visual Studio project files for the tests and tutorial currently all reference the project file of the Thrift library. This breaks the build for me because the thrift build is using .NET Standard 2.0, whereas all consumers are (in my eyes correctly) using .NET Core 3.1. I can not mix and mingle the different .NET platforms due to hard-to-resolve errors with dependency ambiguities. However there seems to be a much cleaner solution: Instead of referencing the thrift library project file, it is possible to reference the Thrift.dll assembly. This is how an external consumer of the library would be implemented, so it is closer to the real world use case. Additionally it has the benefit to work with different .NET platforms without dependency issues.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)