我有一个.Net标准2.0库。在这个库中我有一个T4文件。该文件包含这些行。
<#
foreach (MessageType enumValue in Enum.GetValues(typeof(MessageType)))
{
var name = Enum.GetName(typeof(MessageType), enumValue);
#>
我在Visual Studio中收到以下错误。
编译转换:类型&#39; Enum&#39;在程序集中定义 没有引用。您必须添加对程序集的引用 &#39; netstandard,Version = 2.0.0.0,Culture = neutral, 公钥= cc7b13ffcd2ddd51&#39;
如何添加对&#39; netstandard&#39;?
的引用答案 0 :(得分:3)
我有类似的问题。 我通过在t4中添加引用到磁盘上的文件
来解决这个问题<#@ assembly Name="C:\Program Files\dotnet\sdk\2.1.4\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\netstandard.dll" #>
如果您没有该文件,请尝试在目录“C:\ Program Files \ dotnet \ sdk”中找到 netstandard.dll
答案 1 :(得分:3)
最近几天这成为我们的问题。此外,我们需要一种适用于所有开发机和所有构建机的解决方案。
因此,基本上,我们将C:\Program Files\dotnet\sdk\2.1.4\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\netstandard.dll
文件(以及所需的其他两个标准文件)复制到了解决方案下的TTLibs文件夹中。
然后我们像这样在TT solution-relative 中进行引用:
<#@ assembly Name="$(SolutionDir)TTLib\netstandard.dll" #>
答案 2 :(得分:3)
或者,您可以使用
<ResourceDictionary>
<Style x:Key="CustomWindowStyle" TargetType="{x:Type Window}">
<Setter Property="WindowChrome.WindowChrome">
<Setter.Value>
<WindowChrome/>
</Setter.Value>
</Setter>
<Setter Property="??" Value="Blue"/>
</Style>
</ResourceDictionary>