我有一个简单的课程,我喜欢在进行单元测试时使用。我想创建一个NuGet包,这样我就可以轻松地使用它并在我的解决方案之间分配更新。
我是否必须创建它的程序集,或者是否可以创建一个仅包含源文件的NuGet包,然后将其与其他所有文件一起编译?如果是这样,您将如何配置该包?
答案 0 :(得分:6)
如果您想创建一个只包含源代码文件的软件包,那么这样做很简单。有关详细说明,请参阅this blog post.
首先,创建您的代码文件,并将其保存为(例如)myFile.cs.pp(请注意pp(预处理器)扩展名。
您可以对文件执行一些预处理,例如命名空间。要添加.MySubNameSpace的命名空间,请将代码文件中的声明更改为
namespace $rootnamespace$.MySubNameSpace
将此文件添加到nuget包的content部分。
构建包,你已经完成了设置。
您的.nupec包文件将如下所示。
<?xml version="1.0" encoding="utf-16"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>MyPackageName</id>
<version>1.0.0</version>
<title>My Package Name</title>
<authors>Your Name</authors>
<owners />
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>My package description.</description>
</metadata>
<files>
<file src="content\myCodeFile.cs.pp" target="content\myCodeFile.cs.pp" />
</files>
</package>
您可以通过NuGet Package Explorer完成所有这些操作。
答案 1 :(得分:1)
编辑:正如其他答案所说,NuGet 可以允许您分发简单的源代码。但是,我强烈建议您采用更主流的方法来提供装配。 NuGet很快就会这么做 - 你必须经历为这个源文件创建一个单独项目的“痛苦”,并为该程序集创建一个包,但这一切都非常简单。
这有额外的好处,当你(几乎不可避免地)想要添加更多类型时,它不会给项目带来任何问题,具体取决于它。
答案 2 :(得分:0)
只需使用此处引用的内容文件夹Nuspec Reference(查找“内容文件”部分)
<file src="css\mobile\*.css" target="content\css\mobile" />