簡體   English   中英

帶有單個類的NuGet軟件包作為源代碼

[英]NuGet package with a single class as source code

我有一個簡單的類,在進行單元測試時喜歡使用。 我想創建一個NuGet軟件包,以便可以輕松使用它並在解決方案之間分發更新。

我需要為其創建一個程序集,還是可以創建一個僅包含源文件的NuGet包,然后將其與其他所有文件一起編譯? 如果是這樣,您將如何配置該軟件包?

如果您只想用源代碼文件創建一個包,那就很簡單了。 有關更多說明,請參見此博客文章。

首先,創建您的代碼文件,並將其保存為(例如)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軟件包資源管理器完成所有這些操作。

編輯:正如其他答案所說,NuGet 可以讓您分發簡單的源代碼。 但是,我強烈建議您采用更主流的方法,即僅提供一個程序集。 NuGet使得這樣做非常快捷-您必須經歷“痛苦”,為此源文件創建一個單獨的項目,並為該程序集創建一個包,但這非常簡單。

這具有額外的好處,當您(幾乎不可避免地)想要添加更多類型時,根據它不會給項目帶來任何問題。

只需使用此處的Nuspec參考所引用的內容文件夾(查找“內容文件”部分)

<file src="css\mobile\*.css" target="content\css\mobile" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM