我正在创建一个NuGet包,它为我的WebAPI项目提供了一个客户端,它通过反映ApiControllers并为每个创建类,并使用与控制器上定义的操作相对应的方法.不幸的.tt是,当我运行时,文件被包含在内容文件夹中nuget.exe pack Client.csproj.我已经尝试.nuspec使用<files>指令创建一个文件,但我似乎无法单独排除该文件.有谁知道如何强制包排除T4模板?
项目结构大致如下:
Website/
Controllers/
UserController.cs
...
Client/
Client.tt
Client.cs
namespace Client
class UserService
...
Run Code Online (Sandbox Code Playgroud)
我想要一个NuGet包,如:
lib/
net45/
Client.dll
namespace Client
class UserService
Run Code Online (Sandbox Code Playgroud)
但是我得到这样的东西:
content/
Client.tt
lib/
net45/
Client.dll
namespace Client
class UserService
...
Run Code Online (Sandbox Code Playgroud)
就我而言,问题出在csproj文件内,我必须修复
<Content Include="SomeFile.txt" />
Run Code Online (Sandbox Code Playgroud)
到
<None Include="SomeFile.txt" />
Run Code Online (Sandbox Code Playgroud)
-Exclude事实证明,简单的解决方案是在通过命令行创建包时使用该选项。
NuGet.exe Pack Client.csproj -Exclude *.tt
Run Code Online (Sandbox Code Playgroud)
新包看起来与问题中指定的完全一样。
| 归档时间: |
|
| 查看次数: |
1401 次 |
| 最近记录: |