logo
Welcome to our new AbleCommerce forums. As a guest, you may view the information here. To post to this forum, you must have a registered account with us, either as a new user evaluating AbleCommerce or an existing user of the application. For all questions related to the older version of Gold and earlier, please go to AbleCommerce Gold forum. Please use your AbleCommerce username and password to Login. New Registrations are disabled.

Notification

Icon
Error

Options
Go to last post Go to first unread
Joe Payne2  
#1 Posted : Thursday, March 18, 2021 5:59:46 AM(UTC)
Joe Payne2

Rank: Advanced Member

Groups: HelpDesk, Developers
Joined: 11/9/2018(UTC)
Posts: 564

Thanks: 122 times
Was thanked: 26 time(s) in 25 post(s)
I've probably been doing this wrong for 13 years.

In my old projects with full source, I would modify the project settings for CommerceBuilder so that it builds the dll directly into the /Website/Bin/ folder.

I notice in AC9 there's a /Lib/ and a /Website/ folder.

Should I be building CommerceBuilder and CommerceBuilder.Web into the /Lib/ folder instead of directly into the /Website/Bin/ folder? I assume I should modify the build dependencies and link the projects to the main application right?

Wanna join the discussion?! Login to your AbleCommerce Forums forum account. New Registrations are disabled.

mazhar  
#2 Posted : Thursday, March 18, 2021 1:59:05 PM(UTC)
mazhar

Rank: Administration

Groups: Admin, Administrators, HelpDesk, System, Authorized User, Developers, Registered
Joined: 10/5/2018(UTC)
Posts: 175

Thanks: 8 times
Was thanked: 17 time(s) in 15 post(s)
In ASP.NET Web Application, its better to output the dependencies in Lib folder. Then in application add reference to dependencies in Lib folder. This way if you clean or rebuild web application it will be able to fetch the dependencies from Lib folder. In asp.net website projects you were not required to add reference to assembly, all you had to do was to put it into bin folder. In web application since you need to add the reference for assembly, that's why you need to put it in a separate folder which is not dependent upon project's own output.
thanks 1 user thanked mazhar for this useful post.
Joe Payne2 on 3/18/2021(UTC)
Joe Payne2  
#3 Posted : Thursday, March 18, 2021 2:38:48 PM(UTC)
Joe Payne2

Rank: Advanced Member

Groups: HelpDesk, Developers
Joined: 11/9/2018(UTC)
Posts: 564

Thanks: 122 times
Was thanked: 26 time(s) in 25 post(s)
Ok that makes more sense to me now. Thank you.

My build got messed up with mixed Microsoft.Web.Mvc references after I used NuGet to install the Telerik MVC UI library. VS kept complaining that CommerceBuilder.Web was referencing v5.2.3 but my app was referencing v5.2.7. Eventually I figured out that CommerceBuilder.Web was building directly to the /Website/Bin/ folder, but the AbleCommerce project was referencing the version sitting in /Lib/. So that explained why rebuilding the CommerceBuilder.Web project wasn't fixing the issue.

Then when I did a full solution rebuild, it wiped out every DLL in the /Bin/ folder. Thanks Microsoft. That was helpful. Said nobody ever.

Finally got it all cleaned up, set the references to the /Lib/ folder and set the projects to build to the /Lib/ folder. No more VS complaints about the MVC version so far.

Fun times.
sweeperqb  
#4 Posted : Friday, June 11, 2021 2:09:23 PM(UTC)
sweeperqb

Rank: Advanced Member

Groups: Authorized User, Developers
Joined: 5/30/2020(UTC)
Posts: 125

Thanks: 14 times
Was thanked: 3 time(s) in 3 post(s)
Joe, when you set yours up did you keep your /Lib directory for CommerceBuilder and CommerceBuilder.Web separate from the AbleCommerce_WAP /Lib directory? I was thinking about putting the /Website and AbleCommerce_WAP.sln file in the same parent directory as the CommerceBuilder stuff and combining the /Lib directories. Not sure if that is a brilliant or terrible idea.
Joe Payne2  
#5 Posted : Monday, June 14, 2021 10:55:35 AM(UTC)
Joe Payne2

Rank: Advanced Member

Groups: HelpDesk, Developers
Joined: 11/9/2018(UTC)
Posts: 564

Thanks: 122 times
Was thanked: 26 time(s) in 25 post(s)
You know, Able devs just corrected me on how the /Lib/ folder should be used.

For 13 years, I built my class libraries directly into the /Bin/ folder of the site. And if one class library needed to reference another, I pointed it to the dll in /Bin/.

Able's suggestion was to point all class libraries to compile into the /Lib/ folder. Then have the Able MVC app reference the /Lib/ dll files with local copy turned on.

So far it's worked fine for me. In the end, it's probably a mute point but at least I'm closer to how Able does it at this point <shrug>
Users browsing this topic
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.