Project output path not respected

This forum is meant for questions and discussions about the X# language and tools
Post Reply
Kromi
Posts: 45
Joined: Wed Jan 13, 2016 8:31 am

Project output path not respected

Post by Kromi »

Hi,

the executable project of our solution has set the output path to a non-standard value, but this setting is ignored and all files are created in bin/$(Configuration).

Is this a known issue with VS 2017/X# 2.0.0.5?

Regards,
Mathias
User avatar
robert
Posts: 4523
Joined: Fri Aug 21, 2015 10:57 am
Location: Netherlands

Project output path not respected

Post by robert »

Mathias,
Can you send me the xsproj file ?

Robert
XSharp Development Team
The Netherlands
robert@xsharp.eu
Kromi
Posts: 45
Joined: Wed Jan 13, 2016 8:31 am

Project output path not respected

Post by Kromi »

Sure, here it is. I have tried with the original setting from the Vulcan project (using the SolutionDir variable) and with an absolute path, both with the same result.

One additional minor thing: Sometimes PropertyGroup tags containing build configuration info are added at the end of the xsproj file instead of the top of the file, so the various configurations are spread over the file. You can see this in the file I have attached. Is there a chance that this will be changed sometime in the future?
I know that these files are not actually meant to be read by humans but we have to edit project files quite often in order to fix assembly references.

Mathias
Attachments
_VLSC DLL Exe.zip
(5.34 KiB) Downloaded 60 times
User avatar
robert
Posts: 4523
Joined: Fri Aug 21, 2015 10:57 am
Location: Netherlands

Project output path not respected

Post by robert »

Mathias,

You are seeing multiple property groups because you have multiple (2) platforms defined as well as configurations (2). There is a property group for each combination, so 4 in total.

Your project file contains entries for Platform AnyCPU and x86.
And the Configurations Debug and Release.
I see the following values:
Debug|AnyCPU $(SolutionDir)....client
Release|AnyCPU $(Configuration)
Debug|x86 C:SourceTrunkXClient
Release|x86 $(Configuration)

At the end of the project file there are also property groups for the pre and post build events.
I would merge the values from the AnyCpu and x86 property groups into the AnyCpu propertygroup. Duplicate entries in a property group are not a problem. The last one will be used.
Once you edit the project properties inside VS then our project system will remove duplicate entries in the same propertygroup.

Robert
XSharp Development Team
The Netherlands
robert@xsharp.eu
Kromi
Posts: 45
Joined: Wed Jan 13, 2016 8:31 am

Project output path not respected

Post by Kromi »

Robert,

Just to clarify, I have not added any build configurations into the project file with a text editor, if that is what you assume. The file as you see it is how Visual Studio saved it when I last changed something via the projects properties page.
Incase this is relevant: The project file was originally created by the XPorter tool from a vnproj file.

What I don't understand is this:
In VS configuration/platform for the solution is set to Debug/x86. With the Configuration Manager I have checked that all projects are set to the same. One of these projects is the one I have attached the xsproj file from. If I open the properties page of that project I see the output path is set to "C:SourceTrunkXClient", but when I build the solution and check that directory I don't find the new files. Instead, they are at "binDebug", a path that appears nowhere in the project file. Am I still missing something here?

Regarding the order of tags in the project file:
I know that in the project file there is a PropertiesGroup tag for each build configuration and platform combination I have set up, what I don't like is that some of these tags are at the beginning of the file and others are at the bottom. (As I said, this is a minor thing, not a real problem.)

Mathias
User avatar
robert
Posts: 4523
Joined: Fri Aug 21, 2015 10:57 am
Location: Netherlands

Project output path not respected

Post by robert »

Mathias,

Someone must have edited the project file. Either by hand or by adding a platform inside Visual Studion.
Vulcan does not have the platform only the configuration. When transporting the project file with our exporter then only a AnyCPU platform is added.
Only when you have more than one platform then you will see that the propertiesgroup is at the end of the file.


Robert
XSharp Development Team
The Netherlands
robert@xsharp.eu
Kromi
Posts: 45
Joined: Wed Jan 13, 2016 8:31 am

Project output path not respected

Post by Kromi »

Robert,

ok, then I misunderstood you, I added the x86 configuration to all X# projects. But do you have an idea regarding the actual problem which is that the output directory setting is ignored?

Mathias
User avatar
robert
Posts: 4523
Joined: Fri Aug 21, 2015 10:57 am
Location: Netherlands

Project output path not respected

Post by robert »

Check 'Build - Configuration manager' in VS.
This shows which project platforms are linked to which solution platforms. My guess is that there is a mixup. Maybe a solution platform x86 is linked to a project platform anycpu ?
When not then I need to see more. Then I also need the solution file.
Robert
XSharp Development Team
The Netherlands
robert@xsharp.eu
Kromi
Posts: 45
Joined: Wed Jan 13, 2016 8:31 am

Project output path not respected

Post by Kromi »

Robert,

I double-checked with the Configuration Manager, all projects are on Debug/x86. I've attached the solution file, hope you find something there.

Mathias
Attachments
VSVLSC-XS.zip
(11.24 KiB) Downloaded 61 times
Post Reply