我正在创建一个NuGet包,它为我的WebAPI项目提供了一个客户端,它反映了ApiController
并使用与控制器上定义的操作相对应的方法为每个创建了类。不幸的是,当我运行.tt
时,nuget.exe pack Client.csproj
文件被包含在内容文件夹中。我尝试使用.nuspec
指令创建<files>
文件,但我似乎无法单独排除该文件。有谁知道如何强制包排除T4模板?
项目结构大致如下:
Website/
Controllers/
UserController.cs
...
Client/
Client.tt
Client.cs
namespace Client
class UserService
...
我想要一个像NuGet这样的包:
lib/
net45/
Client.dll
namespace Client
class UserService
但我得到的是这样的东西:
content/
Client.tt
lib/
net45/
Client.dll
namespace Client
class UserService
...
答案 0 :(得分:6)
log4j.rootCategory=DEBUG, NotConsole
log4j.appender.NotConsole=org.apache.log4j.RollingFileAppender
log4j.appender.NotConsole.File=/<LIVY SERVER INSTALL PATH>/logs/livy.log
log4j.appender.NotConsole.maxFileSize=20MB
log4j.appender.NotConsole.layout=org.apache.log4j.PatternLayout
log4j.appender.NotConsole.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n
答案 1 :(得分:2)
原来简单的解决方案是在通过命令行创建包时使用-Exclude
选项。
NuGet.exe Pack Client.csproj -Exclude *.tt
新包装看起来与问题中指定完全一致。
答案 2 :(得分:0)
如果您使用的是Azure DevOps,我尝试了很长时间,要么尝试使用带有-exclude的自定义nuget pack命令,但该命令不起作用,或者尝试添加.nuspec文件并从中排除内容。但是,没有任何效果。
我如何在项目中修复它,是单击每个.tt文件并将“构建操作”从“内容”设置为“无”。它似乎对项目没有任何影响。
也许有人可以找到更好的解决方案,但是我花了1-2天的时间苦苦挣扎,直到我决定拧紧它并改变构建动作。
答案 3 :(得分:0)
就我而言,问题出在 csproj 文件中,我必须修复
const userRef = db.collection('users').doc(payload.email)
return userRef.update({loginstreak: admin.firestore.FieldValue.increment(1)})
.then(() => {
const getuser = userRef.get()
return getuser
.then(doc => {
if (!doc.exists) {
console.log('No such document!');
} else {
if (doc.data().loginstreak === 2) {
return userRef.update({wekelijkssuccescount: admin.firestore.FieldValue.increment(1)})
.then(() => {
conv.add('Hooray')
console.log("If statement 2")
conv.close('bye')
})
}
else if (doc.data().loginstreak === 3) {
return userRef.update({wekelijkssuccescount: admin.firestore.FieldValue.increment(2)})
.then(() => {
conv.add('Hooray')
console.log("If statement 3")
conv.close('bye')
})
}
else if (doc.data().loginstreak === 4) {
return userRef.update({wekelijkssuccescount: admin.firestore.FieldValue.increment(3)})
.then(() => {
conv.add('Hooray')
console.log("If statement 4")
conv.close('bye')
})
}
else if (doc.data().loginstreak === 5) {
return userRef.update({wekelijkssuccescount: admin.firestore.FieldValue.increment(4)})
.then(() => {
conv.add('Hooray')
console.log("If statement 5")
conv.close('bye')
})
}
else if (doc.data().loginstreak === 6) {
return userRef.update({wekelijkssuccescount: admin.firestore.FieldValue.increment(5)})
.then(() => {
conv.add('Hooray')
console.log("If statement 6")
conv.close('bye')
})
}
else if (doc.data().loginstreak === 7) {
return userRef.update({wekelijkssuccescount: admin.firestore.FieldValue.increment(6)})
.then(() => {
conv.add('Hooray')
console.log("If statement 7")
conv.close('bye')
})
}
else {
return userRef.update({wekelijkssuccescount: admin.firestore.FieldValue.increment(1)})
.then(() => {
console.log('Loginstreak: ' + doc.data().loginstreak)
conv.add('Hooray')
conv.close('bye')
})
}
}}) })
到
<Content Include="SomeFile.txt" />
答案 4 :(得分:0)
要以@Baur的答案为基础,可以设置以下内容:
<None Include="SomeFile.tt" />
在IDE中,右键单击文件并转到属性。
单击BuildAction属性 将其设置为无