Ich versuche, eine URL in der Datei web.config, die das Build-System vor dem Kompilieren der .tt-Dateien in meinem Web-Projekt aktualisiert .Wie kann ich eine App aus web.config von. Tt-Datei (T4 Vorlage) lesen
Die entsprechenden Abschnitte aus meiner .tt Datei sind unten:
<#@ template debug="true" hostSpecific="true" language="C#" #>
<#@ output extension=".ts" #>
<#@ Assembly Name="System.Core.dll" #>
<#@ Assembly Name="System.Configuration.dll" #>
<#@ import namespace="System" #>
<#@ import namespace="System.Reflection" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Configuration" #>
<#@ import namespace="System.Collections.Specialized" #>
import { Injectable } from "@angular/core";
<#= RegisterNameSpace("Server.Web.Dashboard.Models.APIRequest") #>
<#= RegisterNameSpace("Server.Web.Dashboard.Models.APIResponse") #>
<#= RegisterNameSpace("Server.Web.Dashboard.Models.APIGeneric") #>
<#= RegisterNameSpace("Server.Data.POCODataObjects") #>
@Injectable()
export class WebServiceCommunicatorService {
rootUrl : string = '<#= ConfigurationManager.AppSettings["ServerServiceURL"] #>';
.....
Wenn ich versuche, die .ts Datei aus dem .tt Datei ich die folgende Fehlermeldung erhalten zu generieren:
Severity Code Description Project File Line Suppression State
Error An expression block evaluated as Null
System.ArgumentNullException: Value cannot be null.
Parameter name: objectToConvert
at Microsoft.VisualStudio.TextTemplating.ToStringHelper.ToStringWithCulture(Object objectToConvert)
at Microsoft.VisualStudio.TextTemplatingF553823B88CD6076D80EB08F6EA809752D0E5DC3E61C0FA53FB2F9AC22ACABF3B7BB9C8801A54E5DBC2A556C03FA42F2EA2AFCE58B708BEC94B0968193987868.GeneratedTextTransformation.TransformText() in webservicecommunicator.service.tt:line 35 Dashboard webservicecommunicator.service.tt 35
ich es geschafft habe, so weit die web.config Pfad zu finden: string AbsolutePath = this.Host.ResolvePath ("../../../web.config"); – user230910
Ich habe versucht, Ihre Lösung, aber es funktioniert nicht, ich denke, es gibt einige Einschränkungen für den Speicherort, die es erlaubt ist, zu suchen, und das aktuelle Verzeichnis befindet sich in C: \ ProgramFiles irgendwo – user230910