Not able to build dll to tridion content manager using Tcmupload assembly - tridion

We have migrated from 5.3 version to Tridion 2011 SP1
In compound templating setup, we have created one project called "CommonFunctions" which contains functions which are used frequently throughout the website.
This cs file is built to tridion content manager and we are trying to reference it in other project using
Add Exixting Item > CommonFunctions.cs > Add as link
But when i try to build my project(in which commonFunctions cs file is referenced) it gives me following error:
Cannot generate a template with name CommonFunctions since a generated template created for another assembly template is already present.
Can anyone help in this?
Thanks and Regards

Reason is very straight forward, if you go with the error message. You are trying to create two TBB's with same name(CommonFunctions).
I am suggesting you either to alter your already existing TBB or rename the new one.

Does your CommonFunctions class implement ITemplate? If so then this is why you're seeing the error. Doing so means that, when uploaded, Tridion will try to create a TBB for it, giving you the situation where you have a naming conflict. What's in the class? It should either be help functions or a "template" (TBB), but not both. At least, not if you want to reuse your existing functionality in this way.
You have several options as I see it. The first would be to upload the new assembly to a different folder than the one that is currently in use. The second would be to copy the class to your new project and rename it. The third would be to separate your helper functions from the TBB class in to one that doesn't implement ITemplate, which you could then reference as you're currently trying from your new project.

Related

Cannot add Controller to asp.net Core MVC Project because of error: The specified runtimeconfig.json does not exist

I am trying to learn about the MVC structure of Asp.NET core MVC.
Therefore, I am trying to build a small web app similar to the ecommerce system 'simplcommerce' whose code is open source.
My Solution is split into three parts:
1. Modules
2. Infrastructure
3. WebHost
In the Modules part, I have five different Modules (e.g. Contacts, Core) which have their own Controllers, Models, ViewModels and Views.
Now I am trying to add a new Controller into the Contacts Module.
I have already added two Controllers earlier, which was no problem at all.
But after having changed lots of things (like adding and deleting dependencies, adding Models and Views, etc.) I receive the following error-message when trying to add a new Controller:
"There was an error running the selected code generator:
'The specified runtimeconfig.json [C:...\TestApplication\TestAppplication.Module.Contacts\bin\Debug\netcoreapp2.0\TestApplication.Module.Contacts.runtimeconfig.json] does not exist. "
I have checked the folder from the error message and there is no TestApplication.Module.Contacts.runtimeconfig.json.
But I have also checked the same folder in the original SimplCommerce solution, which I have copied parts from, and there is no such file either.
Where is the file from the error message specified?
And what can I do to solve this problem?
Thank you very much in advance!
This file is automatically generated by Visual Studio when you build the project. Interesting thins is that when I removed this file and added new Controller to my test project, this file appeared although I haven't built the solution. The issue looks like your project cannot be compiled.
Make sure that the project does not have any compile-time errors and try to rebuild it before you add the Controller.

.net library class not updated in web page

I just created a new web site in Visual Studio 2012. I also created a new Class Library. I added a class, another class inside that first class and then a method. I compiled the library and added as the reference in the bin folder for the web site.
In a aspx.cs page I can now see my new method. Great. I go to create a second method in the same location, go back in my aspx.cs page, can't see it. It says there is definition for this method.
I compile the class library just in case. Can't see it. I clean the solution, build the whole solution, still can't see it.
I actually have to remove the reference from the bin folder of the web site and add it back so that now I can see the second method.
I worked on another project where (I believe) things were set up the same way (web site + class library) and by typing the new method in the class and saving the file was enough to reach this method from an aspx page.
What can I change in my solution so that the new method in the class library can be seen directly?
ps: the aspx.cs page has using myLibrary; at the top;
Thanks
Make sure in your solution that you are using the References folder. Right-click it, choose "Add Reference" and then use the Solution tab to reference your class library project. Taking this approach, every time you update your class library the web project will automatically receive the update.
It sounds like you might be adding the binary to the BIN folder of the website project and then referencing it from there?
First of all check if build is going to debug folder or bin folder. If you are referencing project then make sure that build order is correct and dependency set accordingly. Also check for class library or project referred solution is not building on client profile, select targeted framework.

Copying/Moving App Code to New Project

Ok, I am in the process of breaking apart of intranet application (VS 2010 Web Site, ASP.NET Web Forms with VB code behind). During this process i'm trying to convert some of our our app_code files in to WCF rest service in a new project. However, when I copy or "add existing" vb files into the new "services" project. I get tons of errors including...
error BC30002: Type 'XXX' is not defined
warning BC40056: Namespace
or type specified in the Imports 'System.ServiceModel' doesn't
contain any public member or cannot be found. Make sure the
namespace or the type is defined and contains at least one public
member. Make sure the imported element name doesn't use any aliases.
From what i've read it may (or may not) have something to do with Assemblies and references that I just have very little knowledge on. I have added the namespaces from the current web.config to new project's web.config, and the files are identical. So there is something in the background that needs to be added to the new project I just don't know what its.
PLEASE HELP!!
THANKS
JOSH
UPDATE 1
So one of the errors i'm getting = "error BC30002: Type 'MailMessage' is not defined." Which is a namespace that is added to the web.config, which apparently isn't being picked up??? IDEAS?
I've come across a similar issue - not sure what the reasoning behind it is, but I got around it by creating a new .vb class with the same name as the one you want to copy, then copy and paste all the text from the old one to the new one. Save it, then it seems to like it - it didn't like me copying and pasting the actual file, nor did it like me adding existing files.
Hope this helps :/
This issue seems to be tied to the the differences between Web Application Projects versus Web Site Projects. Eventually I had to add different namespaces on the new project level.
Here is more info about WAP vs WSP....
http://msdn.microsoft.com/en-us/library/dd547590(v=vs.110).aspx

Errors when including Entity Data Model across referenced projects

Decided to take a dive into recreating a website so that it's an ASP.NET MVC web application. We were originally using the Entity Framework for it, figured to still use it since it works nicely enough. When doing some reading, noticed the there is no such thing as the App_Code/ folder for MVC applications, and that most people were creating a class library for their needs like that. So what I ended up doing was creating my MVC application and a class library, both in the same solution, and the MVC application was referencing the class library. The class library has my EDMX Entity Data Model file in it since some of my classes reference it and I thought that it would be easiest to have it in the library to reference. So here is a picture to what my solution layout is. But when I build and run the website, I get an error on a page that would reference the Entity Data Model. Here is a picture of what the error is.
So I thought, what if I placed the EDMX into my models folder since the error looks like it's complaining about not finding the entities. Here's a picture of my solution now with the move. But now, I'm getting a different error (picture). I'm kind of at a loss as to where to go from here. Is the way I have everything laid out and designed the proper and most efficient way to do it? If not could someone give me some advice?
Thanks, it's really appreciated!
Yes, you should be able to have the edmx in a class library and reference if from your main project. The first error is likely due to an incorrect connection string (check this blog post) but you may also have changed the build action of the edmx file somehow, make sure it is "Entity Deploy".
The second error is probably because you copied the edmx from your class library into the Models folder and it is still referencing the old namespace. To fix that, open the edmx in designer view and click on the background. One of the properties in the property window is Namespace, make sure that's set to the new place you want to keep it.
Edit:
Some things to try:
Clean and rebuild the project
Delete the Temporary ASP.NET Files folder referenced in the error message
Double check your cshtml files for old references to URG_MVC.Models namespace. For example, the line in the error should be IEnumerable<URGLibrary.Proposal>
Right click the edmx file and select Run Custom Tool to regenerate the model files

Linq-to-SQL datacontext not generating an object

I am working in a .NET 2.0, recently upgraded to .NET 3.5 environment (VS2008, VB.NET) on an existing ASP.NET website project. I am able to generate a Linq-to-SQL Class (also called a DataContext?) in the App Code folder, drag over tables from an active connection, and save it. Let's call it MyDB. When I go to the code-behind file for my page and try to declare an object of "MyDBDataContext" it is not in the intellisense, indicating that it is not accessible.
I checked the references, and that has to be set correctly because I made the .dbml file.
I made a new test windows app project and it behaved exactly as expected, and I could follow this blog without a problem.
Is there something inherent to web projects that doesn't allow for these auto-generated objects to be usable? Is App Code the right place to declare it?
If you can't tell from the above, I am new to the industry and really new to LINQ.
thanks for your help.
Try expanding the dbml file and open the designer.cs file underneath, and make sure the DataContext class is in the same namespace as the codebehind class. If not, either change the namespace or include it with a using Namespace statement the top.
If it your dbml is in a folder inside of '/App_Code/' it may pick up the folder's name as a namespace. Eg: '/App_Code/DAL' would have the namespace 'DAL'. Give it a namespace in the designer or just use the namespace it is given, if this is the case.

Resources