NuGet包含一个类作为源代码

Svi*_*ish 2 c# nuget nuget-package

我有一个简单的课程,我喜欢在进行单元测试时使用.我想创建一个NuGet包,这样我就可以轻松地使用它并在我的解决方案之间分配更新.

我是否必须创建它的程序集,或者是否可以创建一个仅包含源文件的NuGet包,然后将其与其他所有内容一起编译?如果是这样,您将如何配置该包?

Zom*_*eep 6

如果你想创建一个只包含源代码文件的包,那么这很简单.有关更多说明,请参阅此博客文章.

首先,创建你的代码文件,并将其保存为(例如)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>
Run Code Online (Sandbox Code Playgroud)

您可以通过NuGet Package Explorer完成所有这些操作.