Home Dashboard Directory Help
Search

VS 2012 is unable to locate envdte.dll from T4 template file by Tobi_B


Status: 

Closed
 as By Design Help for as By Design


1
0
Sign in
to vote
Type: Bug
ID: 776194
Opened: 1/9/2013 10:58:39 PM
Access Restriction: Public
0
Workaround(s)
view
0
User(s) can reproduce this bug

Description

We are currently evaluating the upgrade from VS 2010 to VS 2012 as we require features from .Net framework 4.5. During this evaluation I just stumbled upon the issue that VS 2012 is unable to locate the envdte.dll from within a T4 template file.

This will fail:
<#@ Assembly Name="envdte.dll" #>
with the error: Compiling transformation: Metadatafile 'envdte.dll' could not be found

To resolve the issue we currently have to specify the full path to the envdte.dll so this will work:
<#@ Assembly Name="C:\Program Files (x86)\Common Files\microsoft shared\MSEnv\PublicAssemblies\envdte.dll" #>

Although a possible workaround is available, it should not be necessary to specify the full path to the dll and should, in my opinion, be considered a bug and treated as such.

Kind regards,

Tobias
Details
Sign in to post a comment.
Posted by Pedro.Rainho on 12/12/2013 at 5:34 AM
Doing this<#@ assembly name="envdte" #>, doesn't work, here is the output of the T4

C:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE> "C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe" /t:library /utf8output /R:"System.dll" /R:"System.Xml.dll" /R:"EnvDTE" /R:"C:\USERS\J10337\APPDATA\LOCAL\MICROSOFT\VISUALSTUDIO\11.0\EXTENSIONS\TQMYVYTL.OTC\Shark.Tools.SharkFactory.v3.dll" /R:"C:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\bdkiasz3.rj2\Microsoft.Practices.RecipeFramework.VisualStudio.Library.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.VisualStudio.TextTemplating.11.0\v4.0_11.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.TextTemplating.11.0.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.VisualStudio.TextTemplating.Interfaces.10.0\v4.0_10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.TextTemplating.Interfaces.10.0.dll" /out:"C:\Users\j10337\AppData\Local\Temp\czkarmhx.dll" /D:DEBUG /debug+ /optimize- /w:4 "C:\Users\j10337\AppData\Local\Temp\czkarmhx.0.cs"


Microsoft (R) Visual C# Compiler version 4.0.30319.17929

for Microsoft (R) .NET Framework 4.5
Copyright (C) Microsoft Corporation. All rights reserved.

error CS0006: Metadata file 'EnvDTE' could not be found
Posted by Microsoft on 1/25/2013 at 11:46 AM
Thanks for you feedback. To make this work remove the .dll from envdte. When you specify the extension, T4 thinks you want a fully qualified path. If you change your attribute to <#@ assembly name="envdte" #>, it will work.
Posted by Microsoft on 1/15/2013 at 1:15 AM
Thank you for submitting feedback on Visual Studio and .NET Framework. Your issue has been routed to the appropriate VS development team for investigation. We will contact you if we require any additional information.
Posted by Microsoft on 1/9/2013 at 11:15 PM
Thank you for your feedback, we are currently reviewing the issue you have submitted. If this issue is urgent, please contact support directly(http://support.microsoft.com)
Sign in to post a workaround.