ProjectFile has dots stripped out?

Posts   
 
    
Posts: 98
Joined: 10-Nov-2006
# Posted on: 03-Aug-2010 19:41:13   

Seen with designer, v 3.0 (July 30, 2010) Self Servicing, SQL Server, .NET 4.0

In Project -> Properties, the Misc -> ProjectName is set to "X.Y.Data". But when the source code is generated, the file is created as "XYData.csproj" (notice the dots have been removed). I want the filename to be "X.Y.Data.csproj".

This was working fine a few days ago before I installed the most recent release, but the designer seems to have been getting the csproj file name from some other setting at that time?

MTrinder
User
Posts: 1461
Joined: 08-Oct-2008
# Posted on: 03-Aug-2010 21:15:21   

I think this is related to this change

http://www.llblgen.com/pages/secure/ChangeLogBrowser.aspx

Set the application to v3 and search for "project"

Change Templates 3.0 Tasks 3.0 07262010 26-Jul-2010 Several presets in several frameworks still had [projectName] instead of [containerName] in the vs.net project file task filename. This leads to duplicate vs.net project file names (in different folders) when grouping is set to AsSeparateProjects.

Is this a serious issue for you ? (I can't really see how it could be simple_smile )

Matt

Posts: 98
Joined: 10-Nov-2006
# Posted on: 03-Aug-2010 21:22:19   

Yeah - I saw some changes like that in the change log, and I agree that's probably why it changed recently.

As to whether this a serious issue, it's not as if I can't work around it by renaming my projects, but I have a naming convention for my project files that I've used for a long time, and I'd like to maintain those names.

Is there a good reason that it's removing the dots?

MTrinder
User
Posts: 1461
Joined: 08-Oct-2008
# Posted on: 03-Aug-2010 21:25:34   

To be honest, I'm not sure - I'll ask the dev team to clarify.

Cheers

Matt

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39588
Joined: 17-Aug-2003
# Posted on: 03-Aug-2010 21:28:36   

It is removing the dots because the name is being 'corrected'. THis is done using the same method as correcting names in general.

If you want to keep the project name instead of the name it now uses, open the preset in the code generation configuration dialog, scroll to the bottom to the vs.net project generation task and instead of [containerName] in the filename, you specify [projectName]. The preset is then changed and you're asked to save it. Choose a new file name + preset name.

I do acknowledge that this correcting method is a bit too rigid perhaps and dots should be left as-is. We'll check it out how we can mitigate this change for you, as we didn't consider the situation where people would have '.' characters in the project name

Frans Bouma | Lead developer LLBLGen Pro
Otis avatar
Otis
LLBLGen Pro Team
Posts: 39588
Joined: 17-Aug-2003
# Posted on: 05-Aug-2010 10:58:35   

The name is used in templates as well (context class name for EF for example). This would be a problem with '.' characters, hence the clean up.

We'll look into a way to keep the dots for project name only. As the vs.net project file is created in a specific task performer, it's should be doable, we'll report back to you in this thread if we have news.

(edit) We've made a change so we can obtain the 'raw' name for filename creation instead, but I don't know ... it's messy. For the vs.net projects it perhaps looks ok, but for the EF context class filename for example... the '.' in the name is not really nice. Only using it for vs.net project files ... I'm not convinced as it's drastic (ok it was this way since the RTM but it shouldn't have been).

The only thing we have now is whether we need it to contain '.' characters because of backwards compatibility: if v2.6 projects were generating '.' in the vs.net project name, we will use the raw variant there for v3. Will look into that.

(edit) All things considering, we decided to only change it for the vs.net project name, so effectively it becomes the same as before the change: including the '.'. In v2.6 we used the rootnamespace as project name by default, in v3 we don't do that anymore. This is actually an unforeseen breaking change which we completely overlooked due to the fact we kept project name and rootnamespace in sync during testing and apparently everyone else does that too (or hasn't reported that).

So TL;DR: we'll revert the effectiveness of the change we made for vs.net project filenames, we'll use the raw name for that, and for everything else, we'll keep the change as-is (so normal filenames containing [containerName] will not have the raw name. )

This will have an influence on the presets, as the 'projectName' will be back. The effectiveness of this will be that the rootnamespace chosen is the default project name, as before the change of July 26th.

Frans Bouma | Lead developer LLBLGen Pro
Otis avatar
Otis
LLBLGen Pro Team
Posts: 39588
Joined: 17-Aug-2003
# Posted on: 05-Aug-2010 12:51:37   

Preset changes to the vs.net project name ([projectName was replaced with [containerName]) have been rolled back in all presets, and will be available in the next build (August 5th). So in short: the name for the vs.net project file will be the rootnamespace as it was before.

Frans Bouma | Lead developer LLBLGen Pro