我想创建一个内容中包含一些文件的NuGet包,我希望将这些文件添加到项目中但不会被项目引用,因此它们不会被编译。我该怎么做呢?
由于
答案 0 :(得分:1)
编辑您的nuspec文件,输入对您文件的引用,如下所示:
<?xml version="1.0"?>
<package>
<metadata>
...
</metadata>
<files>
...
<file src="MyFirstContentFile.txt" target="content" />
<file src="MySecondContentFile.cs" target="content" />
...
</files>
</package>
target =“content”位是将文件复制到项目中的神奇之处。
现在,如果要导入项目的文件是代码文件(例如.cs文件),并且您不希望它们被编译,则需要设置这些文件的构建操作。要做到这一点,你需要在install.ps1文件上做一些工作(如果还没有,请创建一个,并且不要忘记使用target =“tools”引用文件部分中的文件):
param($installPath, $toolsPath, $package, $project)
$file1 = $project.ProjectItems.Item("MyFirstContentFile.txt")
$file2 = $project.ProjectItems.Item("MySecondContentFile.cs")
# set 'BuildAction' to 'Content'
$copyToOutput1 = $file1.Properties.Item("BuildAction")
$copyToOutput1.Value = 2
$copyToOutput2 = $file2.Properties.Item("BuildAction")
$copyToOutput2.Value = 2
有关BuildAction枚举的可能值,请参阅以下链接。 http://msdn.microsoft.com/en-us/library/aa983962(VS.71).aspx