[ https://issues.apache.org/jira/browse/THRIFT-5169?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17079009#comment-17079009 ]
Mario Emmenlauer commented on THRIFT-5169: ------------------------------------------ > The version if the compiler should always match the library version. Anything > else is doomed to fail. Then I guess its safe and sound to assume that the user want's to use the same compiler for the tests that he/she just built with the library, yes? Basically, I can see only one scenario as a problem with my changes: * build thrift -> this places the compiler binary in the source tree, for future use * install thrift * clean the source tree of temporary files (which deletes the compiler binary in the source tree) * build the tests but not the compiler -> this will not find the compiler in the source tree anymore However AFAIK this workflow already fails for the autotools build, so I think its fair to assume that this is currently not supported. > 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)