我正在尝试加载位于 C:\Windows\Assembly\的程序集,称为 Microsoft.VisualStudio.TextTemplate(版本 9.0.0.0)
这是我正在使用的 PowerShell 2.0 中的命令
$inputfile = 'Hello.tt'
[Reflection.Assembly]::LoadWithPartialName("Microsoft.VisualStudio.TextTemplating") |
Out-Null
$server = New-Object ("Microsoft.VisualStudio.TextTemplating") $inputfile
我得到的错误是 default.ps1:找不到类型 [Microsoft.VisualStudio.TextTemplate] 确保加载包含该类型的程序集。
编辑:我使用相同的方法加载其他 Microsoft 程序集(例如 Smo),这些程序集也在缓存中注册,所以我想知道该程序集是否存在另一个问题
提前致谢
最佳答案
这里的问题似乎不是程序集负载。我验证了 LoadWithPartialName
方法确实加载了相关程序集。
问题是您的 New-Object
调用传递的是命名空间而不是类型。您需要向其传递 Microsoft.VisualStudio.TextTemplated
命名空间内的类型名称。
关于c# - 无法加载 GAC 中找到的程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10192376/