Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net T4运行时出错,但调试时没有_.net_T4_Nswag - Fatal编程技术网

.net T4运行时出错,但调试时没有

.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

我正在尝试使用NSwag编写
.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\
还是不行

(这不是关于FileNotFoundException的问题,我理解这意味着什么。)

下面是我的
.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)已经修复了这一问题。你能核实一下吗?