簡體   English   中英

EF6 /無法使用自動生成的* .tt文件構建項目(“無法解析文件的包含文本:…\\ EF6.Utility.CS.ttinclude。”)

[英]EF6 / Cannot build project with auto-generated *.tt files (“Failed to resolve include text for file:…\EF6.Utility.CS.ttinclude.”)

背景

我使用在Visual Studio 2017 Enterprise中創建的Entity Framework 6得到了一個簡單的CRUD應用程序。 使用*.edmx創建架構/模型/數據庫內容

問題

嘗試構建/重建克隆reposiroty到另一台計算機(或刪除所有自動生成的*.cs文件)之后,對於每個*.tt文件,我得到以下錯誤:

Failed to resolve include text for file:[PATH TO APP DIRECTORY HERE]\\EF6.Utility.CS.ttinclude.

Loading the include file 'EF6.Utility.CS.ttinclude' returned a null or empty string. The transformation will not be run.

手動重新生成文件效果很好 (通過打開*.tt文件上的彈出菜單,然后單擊Run Custom Tool

該文件存在

C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\Common7\\IDE\\Extensions\\Microsoft\\Entity Framework Tools\\Templates\\Includes\\EF6.Utility.CS.ttinclude

但是我完全不知道為什么VS在項目路徑中尋找它。

是VS / EF6配置的錯誤/問題嗎?

我試過了:

  • 重新安裝實體框架工具
  • 添加“ ASP.NET和Web開發”

這些都沒有幫助:(

類似線程:

如何解決此錯誤:加載包含文件'EF.Utility.CS.ttinclude'返回的字符串為空或空

在自動生成的*.tt文件中硬編碼正確的路徑IMO不是正確的解決方案

在遵循Microsoft指南之后 ,我添加了“ IncludeFolders”標記來解析“ EF6.Utility.CS.ttinclude”和“ ItemGroup”以使模板處理中的DevEnvDir無效。 .csproj文件的外觀如下:

...
<PropertyGroup>
    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">15.0</VisualStudioVersion>
    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
    <TransformOnBuild>True</TransformOnBuild>
    <TransformOutOfDateOnly>false</TransformOutOfDateOnly>
    <IncludeFolders>$(DevEnvDir)Extensions\Microsoft\Entity Framework Tools\Templates\Includes</IncludeFolders>
</PropertyGroup>
<ItemGroup>
    <T4ParameterValues Include="DevEnvDir">
        <Value>$(DevEnvDir)</Value>
        <Visible>False</Visible>
    </T4ParameterValues>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(VSToolsPath)\TextTemplating\Microsoft.TextTemplating.targets" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM