endjin / templify Goto Github PK
View Code? Open in Web Editor NEWA tool for packaging and templating solutions
Home Page: http://opensource.endjin.com/templify
A tool for packaging and templating solutions
Home Page: http://opensource.endjin.com/templify
______ ______ __ __ ______ __ __ ______ __ __ /\__ _\ /\ ___\ /\ "-./ \ /\ == \ /\ \ /\ \ /\ ___\ /\ \_\ \ \/_/\ \/ \ \ __\ \ \ \-./\ \ \ \ _-/ \ \ \____ \ \ \ \ \ __\ \ \____ \ \ \_\ \ \_____\ \ \_\ \ \_\ \ \_\ \ \_____\ \ \_\ \ \_\ \/\_____\ \/_/ \/_____/ \/_/ \/_/ \/_/ \/_____/ \/_/ \/_/ \/_____/ Templify! v1.0 - Powered by endjin ================================== About ===== Templify allows you to template a solution (or folder structure) into a reusable package and then re-deploy that package as a new solution. Templify was originally created to solve the problem of how the Sharp Architecture project could distribute its sample solution - as the exising Visual Studio Template mechanism was problematic. Usage ===== Templify can be executed from either the Windows Explorer Shell or via command line. For Windows Explorer select the parent folder containing the solution you want to templify, right click and select the "Templify This Folder" context menu option. A WPF window will appear asking you to entering information about the solution you are templating; Template Name, Template Version Number, Template Author and most importantly - the repeated word / phrase that will be tokenised. As Templify operates on a convention over configuration principal - it will replace all instances of that token, including internal content, directory & file names - with a bespoke token. When you want to deploy a new instance of your Templify template package - select a new empty folder in Windows Explorer, right click and select "Templify Here" from the context menu. A WPF window will appear with a drop downlist containing all the templates you have installed in your local package repository - select the ones you want to deploy - then enter a new name into the "name" textbox. This will be used to replace the bespoke token created in the previous step. Templify can also be used from the command line / MSBuild project. Two sample MSBuild targets were install into %PROGRAMFILES%\endjin\Templify\Samples\MSBuild - these show how to create and deploy packages. From the command line you would create a package using the following command switches: TemplifyCmd.exe -m c -p C:\Temp\Sample-Create\Sharp-Architecture -n "Sharp Architecture" -a "Howard van Rooijen" -v "1.6.0.0" -t "SA169=__NAME__" -r "c:\Temp\Sample-Deploy" and you would deploy the package created above by using the following command switches: TemplifyCmd.exe -m d -p "c:\Temp\Sample-Deploy" -i sharp-architecture-v1.6.0.0 -t __NAME__=HvR -r "c:\Temp\Sample-Deploy" The switches have the following meaning: -m = mode c = create d = deploy -p = path -n = package name -a = author -v = version number -t = token - can be delimited list "Token=__Token__" "Token1=__Token1__" -i = package name -r = package repository path The default package repository path is \Users\%USERNAME%\AppData\Roaming\Endjin\Templify\repo Packages are simply 7Zip archives - renamed to .pkg. You can open any .pkg file using 7Zip (which is freely downloadable) inside you will find a manifest.xml file - which contains a listing of all the contents in the package and the tokenised solution structure and files. Ingredients =========== Templify makes use of the following tools and frameworks: o Caliburn.Micro - http://caliburnmicro.codeplex.com/ o CommandLine - http://commandline.codeplex.com/ o Machine.Specifications - http://github.com/machine/machine.specifications o Machine.Specifications.AutoMocking - http://github.com/jamesbroome/Machine.Specifications.AutoMocking o RhinoMocks - http://www.ayende.com/projects/rhino-mocks/downloads.aspx o ICSharpCode.SharpZipLib - http://www.icsharpcode.net/opensource/sharpziplib/ o WPF Themes - http://wpfthemes.codeplex.com/ o SevenZipSharp - http://sevenzipsharp.codeplex.com o 7Zip - http://www.7-zip.org(licensed under the GNU LGPL license) o Icon / Logo - The wonderful - Zyotism: http://www.zyotism.com/aesthetics/iconsets/2001/index.html o Console Progress Code by Stanimir Stoyanov: http://stoyanoff.info/code/ConsoleProgress.cs o WPF Notify Icon by Phillipp Sumi: http://www.hardcodet.net/projects/wpf-notifyicon Install ======= http://opensource.endjin.com/templify/install Contribute ========== http://github.com/endjin/Templify Support / Help ============== Follow http://twitter.com/templify on twitter. Report bugs & issues on http://youtrack.codebetter.com/issues/TMPLFY Credits & Thanks ================ James Dawson for the original inspiration Alec Whittington for seeding the idea for use with Sharp Architecture James Broome for Manage Package / Exclusions feature Jon George for testing & moral support Matthew Adams for WPF / MVVM / XAML help Nick Harewood for prettifying the WPF styles. David Perlman for fixing the long standing performance issue. Version History =============== 2010.09.30 - v0.5.0.0 - First public release 2013.04.24 - v0.7.0.0 - Performance improvements, fixes around file encoding issues, replace Visual Studio Installer Project with Advanced Installer Project.
Hi Howard,
I have a problem when use "Templify Here" function, it can not get name of project and project's name always returns "NAME". I checked folder "AppData\Roaming\Endjin\Templify\errors" and this is error message:
Object reference not set to an instance of an object.
at Endjin.Templify.Domain.Infrastructure.Configuration.GetConfigSetting(String settingName) in C:_Projects\endjin\OSS\Templify\Solutions\Endjin.Templify.Domain\Infrastructure\Configuration.cs:line 58
at Endjin.Templify.Domain.Infrastructure.Configuration.GetFileExclusions() in C:_Projects\endjin\OSS\Templify\Solutions\Endjin.Templify.Domain\Infrastructure\Configuration.cs:line 26
at Endjin.Templify.Domain.Domain.Packager.Processors.FilteredFileSystemArtefactProcessor.SetFilters() in C:_Projects\endjin\OSS\Templify\Solutions\Endjin.Templify.Domain\Domain\Packager\Processors\FilteredFileSystemArtefactProcessor.cs:line 37
at Endjin.Templify.Domain.Domain.Packager.Processors.FilteredFileSystemArtefactProcessor.RetrieveFiles(String path) in C:_Projects\endjin\OSS\Templify\Solutions\Endjin.Templify.Domain\Domain\Packager\Processors\FilteredFileSystemArtefactProcessor.cs:line 30
at Endjin.Templify.Domain.Domain.Packager.Processors.PackageProcessor.ProcessFiles(String path, Dictionary2 tokens) in C:\_Projects\endjin\OSS\Templify\Solutions\Endjin.Templify.Domain\Domain\Packager\Processors\PackageProcessor.cs:line 74 at Endjin.Templify.Domain.Domain.Packager.Processors.PackageProcessor.Process(String path, Dictionary
2 tokens) in C:_Projects\endjin\OSS\Templify\Solutions\Endjin.Templify.Domain\Domain\Packager\Processors\PackageProcessor.cs:line 47
at Endjin.Templify.Domain.Tasks.PackageDeployerTasks.RunDeployPackage() in C:_Projects\endjin\OSS\Templify\Solutions\Endjin.Templify.Domain\Tasks\PackageDeployerTasks.cs:line 94
at Endjin.Templify.Domain.Tasks.PackageDeployerTasks.DeployPackage(CommandOptions options) in C:_Projects\endjin\OSS\Templify\Solutions\Endjin.Templify.Domain\Tasks\PackageDeployerTasks.cs:line 66
at Endjin.Templify.Client.ViewModel.DeployPackageViewModel.ExecutePackage() in C:_Projects\endjin\OSS\Templify\Solutions\Endjin.Templify.Client\ViewModel\DeployPackageViewModel.cs:line 91
at Endjin.Templify.Domain.Framework.Threading.BackgroundWorkerManager.<>c__DisplayClass3.b__0(Object , DoWorkEventArgs ) in C:_Projects\endjin\OSS\Templify\Solutions\Endjin.Templify.Domain\Framework\Threading\BackgroundWorkerManager.cs:line 15
at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
I used Window7, Templify v0.6.14983 and "sharp-architecture-1.9.6.0--templify-package"
(I've just been reading about Templify, and have not tried it yet)
I started working with an open source project where plugins are created as Projects and added to the Solution. I want to templify a plugin Project.
Does Templify have to have an entire Solution, or can it templify just a Project?
The command-line allows setting multiple tokens, but the GUI only supports one. I see a pull-request for a WinForms version that prompts for multiple tokens, though I suspect you'll want to modify the WPF version instead.
The CloneFileProcessor.cs file uses DirectoryInfo and FileInfo APIs, which don't support paths longer than 260 characters.
This limit is quickly reached specially when dealing with the "packages" folder in Nuget-managed repos.
A possible fix would be to use alphaFS which mimics System.IO and supports longer paths. http://alphafs.codeplex.com/
I templified a project. When I "Templify Here"'d the process was very slow and after 20 minutes, I just killed it.
I have a script that is being generated and it wont run because its making it UTF-8. I get this error "cannot execute binary file". If I create a new file with the same content from sublime text it works. I downloaded file encoding checker from codeplex and it says the generated version is UTF-8 and the sublime version it made was ASCII.
Templify throws an exception if you try and templify a folder that already contains a manifest.xml file
Add command line client that allows user to run templify from a build process.
When I templify a folder, using v0.7.0.25, I do get a popup with the statement that there are errors.
This is the error output:
One or more errors occurred.
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait()
at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action1 body, Action
2 bodyWithState, Func4 bodyWithLocal, Func
1 localInit, Action1 localFinally) at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IList
1 list, ParallelOptions parallelOptions, Action1 body, Action
2 bodyWithState, Action3 bodyWithStateAndIndex, Func
4 bodyWithStateAndLocal, Func5 bodyWithEverything, Func
1 localInit, Action1 localFinally) at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable
1 source, ParallelOptions parallelOptions, Action1 body, Action
2 bodyWithState, Action3 bodyWithStateAndIndex, Func
4 bodyWithStateAndLocal, Func5 bodyWithEverything, Func
1 localInit, Action1 localFinally) at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable
1 source, Action`1 body)
at Endjin.Templify.Domain.Domain.Packager.Builders.ClonePackageBuilder.Build(Package package) in c:\TeamCity\Server\buildAgent\work\595123988a1f1535\Solutions\Endjin.Templify.Domain\Domain\Packager\Builders\ClonePackageBuilder.cs:line 41
at Endjin.Templify.Domain.Tasks.PackageCreatorTasks.RunCreatePackage() in c:\TeamCity\Server\buildAgent\work\595123988a1f1535\Solutions\Endjin.Templify.Domain\Tasks\PackageCreatorTasks.cs:line 89
at Endjin.Templify.Domain.Tasks.PackageCreatorTasks.CreatePackage(CommandOptions options) in c:\TeamCity\Server\buildAgent\work\595123988a1f1535\Solutions\Endjin.Templify.Domain\Tasks\PackageCreatorTasks.cs:line 74
at Endjin.Templify.Client.ViewModel.CreatePackageViewModel.ExecuteCreatePackage() in c:\TeamCity\Server\buildAgent\work\595123988a1f1535\Solutions\Endjin.Templify.Client\ViewModel\CreatePackageViewModel.cs:line 74
at Endjin.Templify.Domain.Framework.Threading.BackgroundWorkerManager.<>c__DisplayClass3.b__0(Object param0, DoWorkEventArgs param1) in c:\TeamCity\Server\buildAgent\work\595123988a1f1535\Solutions\Endjin.Templify.Domain\Framework\Threading\BackgroundWorkerManager.cs:line 15
at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
Any idea what's wrong ?
Thanks,
Simon
Add WPF notify to replace message boxes.
Here is the stack trace from the error file:
One or more errors occurred.
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait()
at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action1 body, Action
2 bodyWithState, Func4 bodyWithLocal, Func
1 localInit, Action1 localFinally) at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IList
1 list, ParallelOptions parallelOptions, Action1 body, Action
2 bodyWithState, Action3 bodyWithStateAndIndex, Func
4 bodyWithStateAndLocal, Func5 bodyWithEverything, Func
1 localInit, Action1 localFinally) at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable
1 source, ParallelOptions parallelOptions, Action1 body, Action
2 bodyWithState, Action3 bodyWithStateAndIndex, Func
4 bodyWithStateAndLocal, Func5 bodyWithEverything, Func
1 localInit, Action1 localFinally) at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable
1 source, Action`1 body)
at Endjin.Templify.Domain.Domain.Packager.Builders.ClonePackageBuilder.Build(Package package) in c:\TeamCity\Server\buildAgent\work\595123988a1f1535\Solutions\Endjin.Templify.Domain\Domain\Packager\Builders\ClonePackageBuilder.cs:line 41
at Endjin.Templify.Domain.Tasks.PackageCreatorTasks.RunCreatePackage() in c:\TeamCity\Server\buildAgent\work\595123988a1f1535\Solutions\Endjin.Templify.Domain\Tasks\PackageCreatorTasks.cs:line 89
at Endjin.Templify.Domain.Tasks.PackageCreatorTasks.CreatePackage(CommandOptions options) in c:\TeamCity\Server\buildAgent\work\595123988a1f1535\Solutions\Endjin.Templify.Domain\Tasks\PackageCreatorTasks.cs:line 74
at Endjin.Templify.Client.ViewModel.CreatePackageViewModel.ExecuteCreatePackage() in c:\TeamCity\Server\buildAgent\work\595123988a1f1535\Solutions\Endjin.Templify.Client\ViewModel\CreatePackageViewModel.cs:line 74
at Endjin.Templify.Domain.Framework.Threading.BackgroundWorkerManager.<>c__DisplayClass3.b__0(Object param0, DoWorkEventArgs param1) in c:\TeamCity\Server\buildAgent\work\595123988a1f1535\Solutions\Endjin.Templify.Domain\Framework\Threading\BackgroundWorkerManager.cs:line 15
at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
Seems I can only right click on an existing folder to do Templify Here. Instead, it would be nice to right click on the content of a parent folder, and have Templify create the root folder of the solution. In that scenario, the folder name and the solution name would be assumed to be the same. This removes one step of having to manually create a folder name MySolution, and then repeat MySolution as the solution name in the Templify UI.
For both [assembly:Guid()] in AssemblyInfo.cs and the node in .csproj files, each new copy should have their own guid, not the guid of the folder that I cloned. I'd like a "smart replacement" mechanism where I can specify one of a few pre-canned functions to call. Perhaps in this case, the token is "GUID()".
Other cool replacements could be DATE() or YEAR() or USER() or COMPANY() pulled from DateTime.Now, DateTime.Year, %USERNAME%, and HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization (so says http://support.microsoft.com/kb/310441). These additional replacements are used in other AssemblyInfo.cs attributes, and though my templified copies will all be correct, sharing my templates yields incorrect results for my co-workers / social friends.
Using a * in the folder name or a filename does not work.
Default behavior should be what's present right now but we should definitely support wildcard in folders and files.
Some tools (namely ReSharper) generates folder in the solution folders and they could easily be forgotten by the user. However, these folders do not have a static name and they vary with the project name. A wildcard character for managing the exceptions would help solve this issue.
had to decompile the Endjin.Templify.MSBuild assembly and couldn't find a way to specify files/directories to exclude from package creation.
I couldn't find the source for Endjin.Templify.MSBuild, is that in this repository?
this is invoked if you try and start the app from the task bar.
At template creation, when figuring out what files to exclude, if a directory segment, or filename string contains a DirectoryExclusions or FileExclusions value it gets excluded (I believe against the intent of the code?).
For example, I have a file (within a tree being Templified) whose path is:
"C:\DEV\template_solution\released_version\Update_all_packages.cmd"
this gets excluded because (a) the default FileExclusions config contain an entry for:
".pack"
...and (b) the DirectoryExclusions config contains an entry for:
"release"
I imagine this intended to match a file with a ".pack" extension, and a folder named "release"? However as it gets matched via regex, the "." acts as a wildcard and so it matches the above filename. Similarly, the directory name contains the exclusion string so that matches too.
I believe this would still behave as required (and fix this issue) if these calls to Regex.IsMatch were replaced by simple string matching such as:
directories:
bool shouldExclude = segments.Any(directory => this.DirectoryExclusions.Any(exclusion => directory.Equals(exclusion))));
files:
shouldExclude = this.FileExclusions.Any(exclusion => file.EndsWith(exclusion));
I have some batchfiles in ANSI encoding, once Templified thought they are converted to UTF-8 encoding and this stops them working from a command prompt (the byte order mark freaks things out)
Cheers,
James (Simmonds, ex CGO)
Application crash with an unhandled exception when the file is not accessible for write operation.
Writing this file in Program Files require Administrator privileges when the UAC is enabled under Windows 7 32bits.
Found some information on how to do it here:
http://www.aneef.net/2009/06/29/request-uac-elevation-for-net-application-managed-code/
http://en.wikipedia.org/wiki/User_Account_Control#Requesting_elevation
Another solution would be to save those information somewhere else where write rights are permitted for the current user.
create consistency with visual studio
It's not possible to run the CommandLine without the Templify installation. (Endjin.Templify.Domain.Infrastructure.FilePaths.AppUserDataPath points always to the AppData\Endjin\Templify folder which is created after the installation.)
Possible solution: Create a CommandLine argument "standalone=true" or so. In that case, the FilePaths class points to the folder where the CommandLine.exe is placed.
SLN files saved as ANSI can't be understood by VS2010 version selector. The result is that I can't open the solution from the file explorer but I can open it only from Visual Studio.
Opened the SLN file in Notepad++ and changed the encoding to UTF8 and it started working as expected again.
CSPROJ are not affected, CS files with special characters are not affected.
WORKAROUND: copy template with ignore filters applied (xcopy) into a temp folder during the build and templify this folder
I am experiencing a bug under Vista x64 with SP2 & VS2010
The Templify executable will finish without any confirm message ("Package Sucessfully Deployed").
Moreover the folders names, as well as the Visual Studio project and solution file names, all have a name starting with "NAME" and not with the name I gave to it ("SharpfirstSample"). Please note that there are 2 underscore chars around the "NAME" that actually the github editor use to convert to bold text...
As I cant attach images here to show you what I mean please click on the following link to get an image sample from my google docs repository.
https://docs.google.com/leaf?id=0B9IY0bJiYPdrYzcwNjM5NDUtNGUxNy00NzljLTlhYTYtMWVhYTI5YWRhYTYx&hl=it
Opening the project and solution file with Notepad will give you a general idea of the content
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NAME.Core", "app__NAME__.Core__NAME__.Core.csproj", "{7696B4F6-2A10-40C4-A1E2-B9768182588C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NAME.ApplicationServices", "app__NAME__.ApplicationServices__NAME__.ApplicationServices.csproj", "{EA00777D-3D7A-4406-8BFB-E5A90CF0E8A9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NAME.Data", "app__NAME__.Data__NAME__.Data.csproj", "{63E9AECE-3385-44F0-BDF9-4C01DD3C0647}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NAME.Web.Controllers", "app__NAME__.Web.Controllers__NAME__.Web.Controllers.csproj", "{518B2E4B-2B9B-48EF-8736-DDB6A0F78E79}"
EndProject
Hi Howard,
Firstly let me just say thanks for this great tool, truly good stuff!
I'm trying to create a template that includes binaries such as shared libs, a few executables and other compressed files.
But after I use the generated template to create a new project all these binary files get corrupted (some are actually bigger than the originals).
Would really appreciate some feedback on this.
Thanks,
J
I am getting an error "object reference not set to an instance of an object” when I try to templify the folder with right click and “templify this folder”. The error is displayed on the toast notification. If I tied to click on the “Templify” button with same name, i get the error “An item with the same key has already been added” but in real the template is not created at all.
It was working fine for few days and suddenly start getting these error and I tried in different computer, got the same error.
So I am trying to templify a folder and I am getting the error below, but I can go into and templify the subfolders with no issues, but if I walk up the directory list I get error below.
The directory looks like
/Template/Trunk/Template/*
If I templify the first Template folder, I get the error, if I templify Trunk I get the error but if I templify the second Template it works just fine.
The only folder with files and subfolders is the second Template folder. Any way I can turn on more verbose debugging info to see if there is a specific file or folder causing the issue?
One or more errors occurred.
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait()
at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action1 body, Action
2 bodyWithState, Func4 bodyWithLocal, Func
1 localInit, Action1 localFinally) at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IList
1 list, ParallelOptions parallelOptions, Action1 body, Action
2 bodyWithState, Action3 bodyWithStateAndIndex, Func
4 bodyWithStateAndLocal, Func5 bodyWithEverything, Func
1 localInit, Action1 localFinally) at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable
1 source, ParallelOptions parallelOptions, Action1 body, Action
2 bodyWithState, Action3 bodyWithStateAndIndex, Func
4 bodyWithStateAndLocal, Func5 bodyWithEverything, Func
1 localInit, Action1 localFinally) at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable
1 source, Action`1 body)
at Endjin.Templify.Domain.Domain.Packager.Builders.ClonePackageBuilder.Build(Package package) in c:\TeamCity\Server\buildAgent\work\595123988a1f1535\Solutions\Endjin.Templify.Domain\Domain\Packager\Builders\ClonePackageBuilder.cs:line 41
at Endjin.Templify.Domain.Tasks.PackageCreatorTasks.RunCreatePackage() in c:\TeamCity\Server\buildAgent\work\595123988a1f1535\Solutions\Endjin.Templify.Domain\Tasks\PackageCreatorTasks.cs:line 89
at Endjin.Templify.Domain.Tasks.PackageCreatorTasks.CreatePackage(CommandOptions options) in c:\TeamCity\Server\buildAgent\work\595123988a1f1535\Solutions\Endjin.Templify.Domain\Tasks\PackageCreatorTasks.cs:line 74
at Endjin.Templify.Client.ViewModel.CreatePackageViewModel.ExecuteCreatePackage() in c:\TeamCity\Server\buildAgent\work\595123988a1f1535\Solutions\Endjin.Templify.Client\ViewModel\CreatePackageViewModel.cs:line 74
at Endjin.Templify.Domain.Framework.Threading.BackgroundWorkerManager.<>c__DisplayClass3.b__0(Object param0, DoWorkEventArgs param1) in c:\TeamCity\Server\buildAgent\work\595123988a1f1535\Solutions\Endjin.Templify.Domain\Framework\Threading\BackgroundWorkerManager.cs:line 15
at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
I can run "Templify This Folder" and see that something is actually happening. But when I select "Templify Here":
Running Visual Studio 2013 on Windows 7 64 bit.
Installed version is 0.7.0.25, downloaded from here:
https://dl.dropboxusercontent.com/u/5892928/Templify/Templify-Installer.exe
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.