.net T4运行时出错,但调试时没有
我正在尝试使用NSwag编写.net T4运行时出错,但调试时没有,.net,t4,nswag,.net,T4,Nswag,我正在尝试使用NSwag编写.tt文件,当我运行自定义工具时,出现以下错误: 正在运行转换:System.IO.FileNotFoundException:无法加载文件或程序集“NSwag.CodeGeneration,Version=6.6.6124.16498,Culture=neutral,PublicKeyToken=null”或其依赖项之一。系统找不到指定的文件。 文件名:“NSwag.CodeGeneration,版本=6.6.6124.16498,区域性=neutral,Publi
.tt
文件,当我运行自定义工具时,出现以下错误:
正在运行转换:System.IO.FileNotFoundException:无法加载文件或程序集“NSwag.CodeGeneration,Version=6.6.6124.16498,Culture=neutral,PublicKeyToken=null”或其依赖项之一。系统找不到指定的文件。
文件名:“NSwag.CodeGeneration,版本=6.6.6124.16498,区域性=neutral,PublicKeyToken=null”
在[0]处重试异常:在System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg)中
at System.Runtime.Remoting.proxy.RealProxy.PrivateInvoke(MessageData&msgData,Int32类型)
在NSwag.CodeGeneration.SwaggerGenerators.WebApi.webapisassemblyToswaggergenerator.webapisamblyLoader.GenerateForController(字符串控制器ClassName,字符串设置数据)
在C:\projects\NSwag\src\NSwag.AssemblyLoader\SwaggerGenerators\WebApi\webapisassemblyToSwaggerGenerator.GenerateForController(字符串控制器ClassName)中的NSwag.code生成.SwaggerGenerators.WebApi.webapisassemblyToSwaggerGenerator.cs:第59行 但是,当我调试模板时,我不会这样做。它运行正常 为什么T4模板会带调试运行,但不正常运行? 以下是我尝试过的:
- 确保文件(及相关文件)未设置为
只读
- 检查
文件的安全设置.dll
和所有应用程序包
现在都拥有完全控制权用户
- 尝试将DLL移动到
C:\Temp\
.tt
文件的开头:
<#@ template debug="false" hostspecific="false" language="C#" #>
<#@ output extension=".cs" #>
<#@ include file="T4Toolbox.tt" #>
<#@ assembly name="System.Core" #>
<#@ assembly name="System.Runtime" #>
<#@ assembly name="System.ObjectModel" #>
<#@ assembly name="C:\Program Files (x86)\Rico Suter\NSwagStudio\NJsonSchema.dll" #>
<#@ assembly name="C:\Program Files (x86)\Rico Suter\NSwagStudio\NJsonSchema.CodeGeneration.dll" #>
<#@ assembly name="C:\Program Files (x86)\Rico Suter\NSwagStudio\NSwag.Core.dll" #>
<#@ assembly name="C:\Program Files (x86)\Rico Suter\NSwagStudio\NSwag.CodeGeneration.dll" #>
<#@ assembly name="C:\Program Files (x86)\Rico Suter\NSwagStudio\NSwag.AssemblyLoader.dll" #>
<#@ import namespace="NSwag.CodeGeneration" #>
<#@ import namespace="System.IO" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Reflection" #>
<#@ import namespace="Microsoft.CSharp" #>
<#@ import namespace="NSwag" #>
<#@ import namespace="NSwag.CodeGeneration.SwaggerGenerators" #>
<#@ import namespace="NSwag.CodeGeneration.SwaggerGenerators.WebApi" #>
<#@ import namespace="NSwag.CodeGeneration.Utilities" #>
<#@ import namespace="NSwag.Collections" #>
我今天遇到了同样的问题。我尝试使用NSwag.MSBuild项目。当后构建步骤运行时,我会得到相同的FileNotFoundException。从控制台运行相同的命令可以正常工作。然后,我尝试将NSwag.MSBuild包中的程序集与T4模板一起使用,结果也出现了相同的错误。由于某些原因,NSwag DLL不希望从Visual Studio加载…我认为最新版本的NSwag(v7.7)已经修复了这一问题。你能核实一下吗?