Go Back
2 Votes

dotnet sln Tooling Should Work with Traditional Synergy in Visual Studio Projects


Closed

https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-sln

Often we will use this to create one off solutions and then combine it with Visual Studio Solution Updater (https://github.com/aolszowka/VisualStudioSolutionUpdater) to generate custom load-outs for developers. We don't have access to Visual Studio 2019 yet and therefore do not have Filtered Solutions https://docs.microsoft.com/en-us/visualstudio/ide/filtered-solutions?view=vs-2019 Its unclear if this would work as expected in Traditional Synergy projects in any case.

This should work for both Traditional Synergy in Visual Studio, DBLNET, and DBLNET Core Projects; as it stands today none of them work and error with the following:
 

S:\TimsSVN\7x\Trunk>dotnet new sln -n SynergyProjects
The template "Solution File" was created successfully.

S:\TimsSVN\7x\Trunk>dotnet sln SynergyProjects.sln add Synergy\CoreLibraries\SynergyStructures\Program\SynergyStructures.synproj
Invalid project `S:\TimsSVN\7x\Trunk\Synergy\CoreLibraries\SynergyStructures\Program\SynergyStructures.synproj`. The imported project "C:\Program Files\dotnet\sdk\2.1.507\Synergex\dbl\Synergex.SynergyDE.Traditional.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.  S:\TimsSVN\7x\Trunk\Synergy\CoreLibraries\SynergyStructures\Program\SynergyStructures.synproj.

If you try this on a DBLNET Core Project:
 
C:\Users\aceo\source\repos\TestDBLNETCore\TestDBLNETCore>dotnet sln TestThis.sln add TestDBLNETCore.synproj
Project 'C:\Users\aceo\source\repos\TestDBLNETCore\TestDBLNETCore\TestDBLNETCore.synproj' has an unknown project type and cannot be added to the solution file. Please contact your SDK provider for support.


 

4 Comments | Posted by Ace Olszowka to Visual Studio Integration on 2/5/2020 8:33 PM
Ace Olszowka
Not supporting this feature makes composing projects very difficult, for example see this post that shows how dotnet sln can be used to compose two distinct Solution Files:

https://github.com/dotnet/sdk/issues/10128#issuecomment-591607707

This breaks down due to Traditional Synergy's non-conformance with existing toolsets.

2/26/2020 7:46 PM   0  
Steve Ives
The DOTNET CLI tool is part of Microsoft's .NET Core SDK and is only intended to work with .NET Core solutions, so there really is no expectation for it to work with Traditional Synergy projects.
But with regard to .NET Core, you're right, we did recently discover that the DOTNET SLN command does not appear to support adding Synergy .NET Core projects to an existing solution, as it does not recognize Synergy .NET Core projects as a valid project type. We're not currently sure whether this is simply down to not recognizing .synproj as a valid project file, or something else.
We have created a tracker to have someone investigate the reason for this, but bear in mind this is a Microsoft tool, so even if we are able to fix the issue and send them a pull request, there is no guarantee that they will accept the PR.

8/6/2020 4:29 PM   0  
Ace Olszowka
> We did recently discover that the DOTNET SLN command does not appear to support adding Synergy .NET Core projects to an existing solution, as it does not recognize Synergy .NET Core projects as a valid project type.

Are you saying that Synergy.NET Core is not compatible with the tooling for that ecosystem?

8/6/2020 4:31 PM   0  
Steve Ives
No, not at all. I'm saying that Microsoft's CLI tool does not currently support third-party extensions in some areas, and that we will attempt to get that situation rectified, but that there is no guarantee that we can do so because it's not our code.

8/6/2020 9:54 PM   0  
Please log in to comment on this idea.