由於T4在項目上下文之外運行,因此我無權訪問當前程序集或其他程序集。我如何註冊訪問引用的程序集,然後從中獲取類型?在T4代碼生成中,我如何從引用程序集中獲取類型?
4
A
回答
3
我猜你想在項目中訪問你的建築物。我在下面的代碼示例中添加了一個名爲TestLib的解決方案,我將其構建到解決方案目錄中的\ T4Libs文件夾中。 TestLib有一個名爲MyHelper的類,它包含一個幻數。
FYI VS2010 SP1添加了很棒的功能,因爲它不再鎖定導入的組件,所以這是一個很好的使用版本。
<#@ assembly name = "$(SolutionDir)\T4Libs\TestLib.dll" #>
<#@ import namespace = "TestLib" #>
<#
var myHelper = new MyHelper();
#>
// <#=myHelper.MagicNumber#>
0
你正在尋找Assembly directive和/或你正在尋找System.Reflection.Assembly類的東西(如LoadFile)嗎?
相關問題
- 1. 從代碼生成工具獲取對程序集的引用
- 2. 如何從引用程序集中獲取類型?
- 3. 如何獲取引用程序集中的所有類型?
- 4. 構建期間生成T4代碼,自定義程序集引用
- 5. 如何在由T4模板引用的程序集中獲取EnvDte.DTE
- 6. T4代碼生成器如何使用Web引用
- 7. 如何通過反射從引用的程序集中獲取類型
- 8. Visual Studio 2010用於模板類型的T4代碼生成
- 9. T4生成的程序集位置
- 10. T4 Toolbox - 在當前程序集中引用類
- 11. 我如何獲得Dev-C++從c代碼生成intel程序集?
- 12. 如何從動態生成的程序集中引用GAC程序集?
- 13. 如何獲得tlbimp不會自動生成引用類型的程序集?
- 14. T4編輯生成的代碼生成
- 15. 如何從某個程序集中獲取類型?
- 16. 如何在VS2010中從我的UML模型生成C#代碼?
- 17. 使用T4模板生成代碼
- 18. 我如何可以自動T4代碼生成亞音速
- 19. 如何從嵌套模板塊中生成T4模板中的代碼塊?
- 20. 如何獲取由Appcelerator應用程序中的代碼生成的元素
- 21. 如何在VS2010中獲取T4以迭代類屬性
- 22. C# - 如何從使用LINQ的程序集中獲取某些通用類型
- 23. 用於生成類型化數據集的T4模板
- 24. 在T4中使用項目引用作爲程序集路徑
- 25. 我可以從PyInstaller生成的包中獲取源代碼嗎?
- 26. 在Java中引用生成的代碼
- 27. 獲取F#中引用的程序集#
- 28. 記錄類型中間代碼生成
- 29. 如何從visual studio 2010中的C++代碼生成優化的程序集
- 30. 我可以在Java應用程序中集成android代碼嗎?
如果您確實知道類型,那麼這種方法可行 - 但如果您想使用字符串生成類型呢? – 2012-02-20 03:47:36
由於T4是用C#(或VB)編寫的,所以使用Assembly.Load加載程序集並使用Assembly.GetType來獲取類型。 – FuleSnabel 2012-02-20 06:23:55
智能解決方法。謝謝。 – 2013-10-08 00:53:48