Click here to Skip to main content
15,900,110 members
Home / Discussions / C#
   

C#

 
GeneralRe: T4 assembly missing Pin
Pete O'Hanlon8-Mar-11 7:41
mvePete O'Hanlon8-Mar-11 7:41 
GeneralRe: T4 assembly missing Pin
Richard MacCutchan8-Mar-11 7:56
mveRichard MacCutchan8-Mar-11 7:56 
GeneralRe: T4 assembly missing Pin
Pete O'Hanlon8-Mar-11 8:45
mvePete O'Hanlon8-Mar-11 8:45 
GeneralRe: T4 assembly missing Pin
Richard MacCutchan8-Mar-11 9:57
mveRichard MacCutchan8-Mar-11 9:57 
GeneralRe: T4 assembly missing Pin
Pete O'Hanlon8-Mar-11 21:14
mvePete O'Hanlon8-Mar-11 21:14 
GeneralRe: T4 assembly missing Pin
Richard MacCutchan8-Mar-11 21:29
mveRichard MacCutchan8-Mar-11 21:29 
GeneralRe: T4 assembly missing Pin
Andy Brummer8-Mar-11 16:16
sitebuilderAndy Brummer8-Mar-11 16:16 
GeneralRe: T4 assembly missing Pin
SolarEx8-Mar-11 21:36
SolarEx8-Mar-11 21:36 
Still not resolved.

So far once my code is generated I remove the code inside my template.

As I said in my first post the assembly required is VisualStudio.

Error	1	The type or namespace 'VisualStudio' doesn't exist in the namespace 'Microsoft' ( an assembly is missing  ?)


I check several time but there is nothing looking like.

Although the errors target on my template, I almost assume that it's not coming from there because It was working before.

Below my template perhaps there is something obvious:

<#@ template language="C#" debug="true" hostspecific="true"#>
<#@ include file="EF.Utility.CS.ttinclude"#>
<#@ output extension=".cs"#><#

CodeGenerationTools code = new CodeGenerationTools(this);
MetadataLoader loader = new MetadataLoader(this);
CodeRegion region = new CodeRegion(this, 1);
MetadataTools ef = new MetadataTools(this);

string inputFile = @"..\..\ModelEntities.edmx";
EdmItemCollection ItemCollection = loader.CreateEdmItemCollection(inputFile);
string ModelNamespace = loader.GetModelNamespace(inputFile);
string namespaceName = code.VsNamespaceSuggestion();


EntityFrameworkTemplateFileManager fileManager = EntityFrameworkTemplateFileManager.Create(this);

// Write out support code to primary template output file
WriteHeader(fileManager);
BeginNamespace(namespaceName, code);
WriteCustomObservableCollection();
EndNamespace(namespaceName);
    
// Emit Entity Types
foreach (EntityType entity in ItemCollection.GetItems<EntityType>().OrderBy(e => e.Name))
{
    fileManager.StartNewFile(entity.Name + "Repository.cs");
    BeginNamespace(namespaceName, code);
    bool entityHasNullableFKs = entity.NavigationProperties.Any(np => np.GetDependentProperties().Any(p=>ef.IsNullable(p)));
#>

<#=Accessibility.ForType(entity)#> <#=code.SpaceAfter(code.AbstractOption(entity))#>class <#=code.Escape(entity)#>Repository<#=code.StringBefore(" : ", code.Escape(entity.BaseType))#> : I<#=code.Escape(entity)#>Repository
{
		IRepository<<#=code.Escape(entity)#>> repo = new Repository<<#=code.Escape(entity)#>>();

		/// <summary>
		/// Creates the specified <#=code.Escape(entity)#> entity.
		/// </summary>
		/// <param name="entity">The <#=code.Escape(entity)#> entity.</param>
		/// <returns></returns>
		public <#=code.Escape(entity)#> Create(<#=code.Escape(entity)#> entity)
		{
			return repo.Create(entity);
		}

		/// <summary>
        /// Creates all entitis <#=code.Escape(entity)#>.
        /// </summary>
        /// <param name="entity">The entity.</param>
        /// <returns></returns>
        public <#=code.Escape(entity)#>[] CreateAll(<#=code.Escape(entity)#>[] entities)
        {
            return repo.CreateAll(entities);
        }

		/// <summary>
        /// Updates the specified <#=code.Escape(entity)#> entity.
        /// </summary>
        /// <param name="entity">The <#=code.Escape(entity)#> entity.</param>
        /// <returns></returns>
        public <#=code.Escape(entity)#> Update(<#=code.Escape(entity)#> entity)
        {
            return repo.Update(entity);
        }

		/// <summary>
        /// Updates all entities <#=code.Escape(entity)#>.
        /// </summary>
        /// <param name="entity">The entity.</param>
        /// <returns></returns>
        public <#=code.Escape(entity)#>[] UpdateAll(<#=code.Escape(entity)#>[] entities)
        {
            return repo.UpdateAll(entities);
        }

        /// <summary>
        /// Deletes the specified entity <#=code.Escape(entity)#> given.
        /// </summary>
        /// <param name="entity">The entity.</param>
        /// <returns></returns>
        public <#=code.Escape(entity)#> Delete(<#=code.Escape(entity)#> entity)
        {
            return repo.Delete(entity);
        }

        /// <summary>
        /// Queries the table <#=code.Escape(entity)#> with the specified filter.
        /// </summary>
        /// <param name="filter">The filter.</param>
        /// <returns></returns>
        public IEnumerable<<#=code.Escape(entity)#>> Query(System.Linq.Expressions.Expression<Func<<#=code.Escape(entity)#>, bool>> filter)
        {
            return repo.Query(filter);
        }

        /// <summary>
        /// Gets a singles <#=code.Escape(entity)#> matching the given one.
        /// </summary>
        /// <param name="predicate">The predicate.</param>
        /// <returns></returns>
        public <#=code.Escape(entity)#> Single(Func<<#=code.Escape(entity)#>, bool> predicate)
        {
            return repo.Single(predicate);
        }

        /// <summary>
        /// Gets the First <#=code.Escape(entity)#> predicate.
        /// </summary>
        /// <param name="predicate">The predicate.</param>
        /// <returns></returns>
        public <#=code.Escape(entity)#> First(Func<<#=code.Escape(entity)#>, bool> predicate)
        {
            return repo.First(predicate);
        }

        /// <summary>
        /// Deletes all <#=code.Escape(entity)#> given.
        /// </summary>
        /// <param name="predicate">The predicate.</param>
        public void DeleteAll(Func<<#=code.Escape(entity)#>, bool> predicate)
        {
            repo.DeleteAll(predicate);
        }

        /// <summary>
        /// Finds the specified <#=code.Escape(entity)#>.
        /// </summary>
        /// <param name="predicate">The predicate.</param>
        /// <returns></returns>
        public IEnumerable<<#=code.Escape(entity)#>> Find(Func<<#=code.Escape(entity)#>, bool> predicate)
        {
            return repo.Find(predicate); 
        }

        /// <summary>
        /// Gets all entities <#=code.Escape(entity)#>.
        /// </summary>
        /// <returns></returns>
        public IEnumerable<<#=code.Escape(entity)#>> GetAll()
        {
            return repo.GetAll(); 
        }

}
<#
    EndNamespace(namespaceName);
}
    
    

foreach (ComplexType complex in ItemCollection.GetItems<ComplexType>().OrderBy(e => e.Name))
{
    fileManager.StartNewFile(complex.Name + ".cs");
    BeginNamespace(namespaceName, code);
#>
<#=Accessibility.ForType(complex)#> partial class <#=code.Escape(complex)#>
{
<#
    region.Begin("Primitive Properties");

    foreach(EdmProperty edmProperty in complex.Properties.Where(p => p.TypeUsage.EdmType is PrimitiveType && p.DeclaringType == complex))
    {
        bool isDefaultValueDefinedInModel = (edmProperty.DefaultValue != null);
#>

    <#=Accessibility.ForProperty(edmProperty)#> <#=code.Escape(edmProperty.TypeUsage)#> <#=code.Escape(edmProperty)#>
<#
        if (isDefaultValueDefinedInModel)
        {
#>
    {
        <#=code.SpaceAfter(Accessibility.ForGetter(edmProperty))#>get { return <#=code.FieldName(edmProperty)#>; }
        <#=code.SpaceAfter(Accessibility.ForSetter(edmProperty))#>set { <#=code.FieldName(edmProperty)#> = value; }
    }
    private <#=code.Escape(edmProperty.TypeUsage)#> <#=code.FieldName(edmProperty)#><#=code.StringBefore(" = ", code.CreateLiteral(edmProperty.DefaultValue))#>;
<#
        }
        else
        {
#>
    {
        <#=code.SpaceAfter(Accessibility.ForGetter(edmProperty))#>get;
        <#=code.SpaceAfter(Accessibility.ForSetter(edmProperty))#>set;
    }
<#
        }
    }

    region.End();

    region.Begin("Complex Properties");

    foreach(EdmProperty edmProperty in complex.Properties.Where(p => p.TypeUsage.EdmType is ComplexType && p.DeclaringType == complex))
    {
#>

    <#=Accessibility.ForProperty(edmProperty)#> <#=code.Escape(edmProperty.TypeUsage)#> <#=code.Escape(edmProperty)#>
    {
        <#=code.SpaceAfter(Accessibility.ForGetter(edmProperty))#>get { return <#=code.FieldName(edmProperty)#>; }
        <#=code.SpaceAfter(Accessibility.ForSetter(edmProperty))#>set { <#=code.FieldName(edmProperty)#> = value; }
    }
    private <#=code.Escape(edmProperty.TypeUsage)#> <#=code.FieldName(edmProperty)#> = new <#=code.Escape(edmProperty.TypeUsage)#>();
<#
    }

    region.End();
#>
}
<#
    EndNamespace(namespaceName);
}

if (!VerifyTypesAreCaseInsensitiveUnique(ItemCollection))
{
    return "";
}

fileManager.Process();

#>
<#+
void WriteHeader(EntityFrameworkTemplateFileManager fileManager, params string[] extraUsings)
{
    fileManager.StartHeader();
#>
//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated from a template.
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

using System;
using System.Collections.Generic;
using System.Diagnostics.Contracts; 
using System.Linq.Expressions;
using CJI.FOX.DataLayer.Repository.Interface;

<#=String.Join(String.Empty, extraUsings.Select(u => "using " + u + ";" + Environment.NewLine).ToArray())#>
<#+
    fileManager.EndBlock();
}

void BeginNamespace(string namespaceName, CodeGenerationTools code)
{
    CodeRegion region = new CodeRegion(this);
    if (!String.IsNullOrEmpty(namespaceName))
    {
#>
namespace <#=code.EscapeNamespace(namespaceName)#>
{
<#+
        PushIndent(CodeRegion.GetIndent(1));
    }
}


void EndNamespace(string namespaceName)
{
    if (!String.IsNullOrEmpty(namespaceName))
    {
        PopIndent();
#>
}
<#+
    }
}

bool IsReadWriteAccessibleProperty(EdmMember member)
{
    string setter = Accessibility.ForWriteOnlyProperty(member);
    string getter = Accessibility.ForReadOnlyProperty(member);

    return getter != "private" && getter != "protected" && setter != "private" && setter != "protected";
}

string PropertyVirtualModifier(string accessibility)
{
    return accessibility + (accessibility != "private" ? " virtual" : "");
}

void WriteCustomObservableCollection()
{
#>
<#+
}

bool VerifyTypesAreCaseInsensitiveUnique(EdmItemCollection itemCollection)
{
    Dictionary<string, bool> alreadySeen = new Dictionary<string, bool>(StringComparer.OrdinalIgnoreCase);
    foreach(StructuralType type in itemCollection.GetItems<StructuralType>())
    {
        if (!(type is EntityType || type is ComplexType))
        {
            continue;
        }

        if (alreadySeen.ContainsKey(type.FullName))
        {
            Error(String.Format(CultureInfo.CurrentCulture, "This template does not support types that differ only by case, the types {0} are not supported", type.FullName));
            return false;
        }
        else
        {
            alreadySeen.Add(type.FullName, true);
        }

    }

    return true;
}
#>

QuestionWriting XML file from threads - URGENT - Pin
moums7-Mar-11 21:56
moums7-Mar-11 21:56 
AnswerRe: Writing XML file from threads - URGENT - Pin
OriginalGriff7-Mar-11 22:08
mveOriginalGriff7-Mar-11 22:08 
GeneralRe: Writing XML file from threads - URGENT - Pin
Richard MacCutchan7-Mar-11 22:11
mveRichard MacCutchan7-Mar-11 22:11 
GeneralRe: Writing XML file from threads - URGENT - Pin
Pete O'Hanlon7-Mar-11 23:11
mvePete O'Hanlon7-Mar-11 23:11 
GeneralRe: Writing XML file from threads - URGENT - Pin
OriginalGriff7-Mar-11 23:15
mveOriginalGriff7-Mar-11 23:15 
AnswerRe: Writing XML file from threads - Not URGENT - Pin
Richard MacCutchan7-Mar-11 22:10
mveRichard MacCutchan7-Mar-11 22:10 
GeneralRe: Writing XML file from threads - Not URGENT - Pin
moums7-Mar-11 22:20
moums7-Mar-11 22:20 
GeneralRe: Writing XML file from threads - Not URGENT - Pin
Richard MacCutchan7-Mar-11 22:28
mveRichard MacCutchan7-Mar-11 22:28 
GeneralRe: Writing XML file from threads - Not URGENT - Pin
moums7-Mar-11 22:37
moums7-Mar-11 22:37 
GeneralRe: Writing XML file from threads - Not URGENT - Pin
Richard MacCutchan8-Mar-11 0:03
mveRichard MacCutchan8-Mar-11 0:03 
GeneralRe: Writing XML file from threads - Not URGENT - Pin
moums8-Mar-11 0:10
moums8-Mar-11 0:10 
AnswerRe: Writing XML file from threads - URGENT - Pin
J a a n s7-Mar-11 22:56
professionalJ a a n s7-Mar-11 22:56 
GeneralRe: Writing XML file from threads - URGENT - Pin
moums7-Mar-11 23:43
moums7-Mar-11 23:43 
AnswerRe: Writing XML file from threads - URGENT - Pin
_Erik_8-Mar-11 0:42
_Erik_8-Mar-11 0:42 
GeneralRe: Writing XML file from threads - URGENT - Pin
moums8-Mar-11 1:03
moums8-Mar-11 1:03 
QuestionHelp w/ Security Issue Win7 Pin
Jammer7-Mar-11 12:30
Jammer7-Mar-11 12:30 
AnswerRe: Help w/ Security Issue Win7 Pin
Richard Andrew x647-Mar-11 12:50
professionalRichard Andrew x647-Mar-11 12:50 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.