我正在尝试.tt
使用 NSwag 编写文件,当我运行自定义工具时,出现此错误:
运行转换:System.IO.FileNotFoundException:无法加载文件或程序集“NSwag.CodeGeneration,版本=6.6.6124.16498,Culture=neutral,PublicKeyToken=null”或其依赖项之一。该系统找不到指定的文件。文件名:'NSwag.CodeGeneration,版本=6.6.6124.16498,Culture=neutral,PublicKeyToken=null'
在 [0] 处重新抛出异常:在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)在 NSwag.CodeGeneration
的 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) 。 SwaggerGenerators.WebApi.WebApiAssemblyToSwaggerGenerator.WebApiAssemblyLoader.GenerateForController(String controllerClassName, String settingsData) 在 NSwag.CodeGeneration.SwaggerGenerators.WebApi.WebApiAssemblyToSwaggerGenerator.GenerateForController(String controllerClassName) 在 C:\projects\nswag\src\NSwag.AssemblyLoader\SwaggerGenerators\WebApi WebApiAssemblyToSwaggerGenerator.cs:第 59 行
但是,当我调试模板时,我没有。它运行正确。
为什么 T4 模板会以调试方式运行,但不能正常运行?
这是我尝试过的:
- 确保文件(和相关文件)未设置为
Read-Only
. - 检查
.dll
文件的安全设置。ALL APPLICATION PACKAGES
现在Users
拥有完全控制权。 - 尝试将 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" #>