如何在T4文件中引用.NET标准



我有一个.NET标准2.0库。在此库中,我有一个T4文件。该文件包含这些行。

<#
            foreach (MessageType enumValue in Enum.GetValues(typeof(MessageType)))
            {
                var name = Enum.GetName(typeof(MessageType), enumValue);
#>

我在Visual Studio中获得以下错误。

编译转换:"枚举"类型是在组装中定义的 没有引用。您必须添加给组件的参考 'NetStandard,版本= 2.0.0.0,culture =中性, publicKeyToken = cc7b13ffcd2dddd51'。

如何添加" NetStandard"的引用?

另外,您可以使用

<#@ assembly name="NetStandard" #>

我也有类似的问题。我已经通过在磁盘上添加T4中的参考来解决此问题

<#@ assembly Name="C:Program Filesdotnetsdk2.1.4MicrosoftMicrosoft.NET.Build.Extensionsnet461libnetstandard.dll" #>

如果没有该文件,请尝试查找 netStandAndard.dll 在目录中" C: Program Files dotnet sdk"

这在过去几天对我们来说是一个问题。此外,我们需要一个可以在所有开发机和所有构建计算机上使用的解决方案。

因此,我们基本上将C:Program Filesdotnetsdk2.1.4MicrosoftMicrosoft.NET.Build.Extensionsnet461libnetstandard.dll文件(以及我们需要的其他标准文件)复制到解决方案下的ttlibs文件夹中。

然后,我们在TT 解决方案相关性中进行了参考: <#@ assembly Name="$(SolutionDir)TTLibnetstandard.dll" #>

最新更新