[{"data":1,"prerenderedAt":596},["ShallowReactive",2],{"blog-en-reogrid-net-nuget-release":3},{"id":4,"title":5,"author":6,"body":7,"date":579,"description":580,"extension":581,"meta":582,"navigation":427,"path":583,"seo":584,"stem":587,"tags":588,"thumbnail":594,"__hash__":595},"blog_en/blog/en/reogrid-net-nuget-release.md","ReoGrid for .NET — Official NuGet Feed Now Available: Install and Update Directly from Visual Studio",null,{"type":8,"value":9,"toc":567},"minimark",[10,15,26,42,48,51,54,58,89,106,108,112,115,135,137,142,154,188,197,199,203,206,216,226,231,303,311,317,391,393,397,400,445,458,460,464,474,481,507,515,517,521,527,530,532,536,563],[11,12,14],"h2",{"id":13},"introduction","Introduction",[16,17,18,25],"p",{},[19,20,24],"a",{"href":21,"rel":22},"https://github.com/unvell/ReoGrid",[23],"nofollow","ReoGrid"," is a .NET component that brings Excel-like spreadsheet functionality to WinForms and WPF applications.",[16,27,28,29,33,34,37,38,41],{},"We are pleased to announce that an ",[30,31,32],"strong",{},"official NuGet feed for ReoGrid for .NET is now available",". Customers with a valid license can create an ",[30,35,36],{},"authentication token"," in the customer portal and ",[30,39,40],{},"install or update ReoGrid directly from Visual Studio",".",[16,43,44,45,41],{},"Until now, the latest assemblies were obtained by signing in to the customer portal and downloading the DLLs. With the new NuGet feed, ",[30,46,47],{},"everything from installation to version upgrades can be done right inside Visual Studio",[16,49,50],{},"This article walks through how to use the official NuGet feed.",[52,53],"hr",{},[11,55,57],{"id":56},"what-the-official-nuget-feed-offers","What the Official NuGet Feed Offers",[59,60,61,77,83],"ul",{},[62,63,64,67,68,72,73,76],"li",{},[30,65,66],{},"Install directly from Visual Studio / the dotnet CLI"," — add ",[69,70,71],"code",{},"unvell.ReoGrid4"," (WinForms) or ",[69,74,75],{},"unvell.ReoGrid4.Wpf"," (WPF) with the same workflow as any other package",[62,78,79,82],{},[30,80,81],{},"Smooth version upgrades"," — no more swapping DLLs by hand; update from the NuGet package manager",[62,84,85,88],{},[30,86,87],{},"Per-environment token management"," — issue and revoke a token per environment (a dev laptop, a CI server, and so on), so it fits team development and continuous integration out of the box",[90,91,92],"blockquote",{},[16,93,94,97,98,101,102,105],{},[30,95,96],{},"Note",": The official NuGet feed is an ",[30,99,100],{},"authenticated feed"," for customers with a valid ReoGrid for .NET license. Only ",[30,103,104],{},"v4.5.0 and later"," — the builds that carry license-key enforcement — are served.",[52,107],{},[11,109,111],{"id":110},"how-it-works","How It Works",[16,113,114],{},"Getting started takes three steps.",[116,117,118,124,130],"ol",{},[62,119,120,123],{},[30,121,122],{},"Create an authentication token"," in the customer portal",[62,125,126,129],{},[30,127,128],{},"Add the NuGet feed"," (package source)",[62,131,132],{},[30,133,134],{},"Install the ReoGrid package",[52,136],{},[138,139,141],"h3",{"id":140},"_1-create-an-authentication-token","1. Create an Authentication Token",[16,143,144,145,149,150,153],{},"Sign in to the customer portal (",[19,146,147],{"href":147,"rel":148},"https://portal.unvell.com/",[23],") and open the ",[30,151,152],{},"\"NuGet Tokens\""," page.",[59,155,156,163,174,181],{},[62,157,158,159,162],{},"Enter a descriptive ",[30,160,161],{},"label"," such as \"dev laptop\" or \"CI server\" and create the token",[62,164,165,166,169,170,173],{},"The token (a string starting with ",[69,167,168],{},"unvpat_",") is shown ",[30,171,172],{},"only once, right after creation",". Copy it and store it securely",[62,175,176,177,180],{},"You can ",[30,178,179],{},"revoke"," any token at any time from the list; environments using a revoked token can no longer fetch packages",[62,182,183,184,187],{},"The list also shows each token's ",[30,185,186],{},"last-used"," time",[90,189,190],{},[16,191,192,193,196],{},"A token is as sensitive as a password. Don't embed it in source code — keep it in a ",[69,194,195],{},"nuget.config"," or in your CI's secret store.",[52,198],{},[138,200,202],{"id":201},"_2-add-the-nuget-feed","2. Add the NuGet Feed",[16,204,205],{},"The ReoGrid feed URL is:",[207,208,213],"pre",{"className":209,"code":211,"language":212},[210],"language-text","https://packages.unvell.com/nuget/v3/index.json\n","text",[69,214,211],{"__ignoreMap":215},"",[16,217,218,219,222,223,41],{},"When adding the feed, use your ",[30,220,221],{},"customer-portal email as the username"," and the ",[30,224,225],{},"token you created as the password",[16,227,228],{},[30,229,230],{},"Add via the dotnet CLI:",[207,232,236],{"className":233,"code":234,"language":235,"meta":215,"style":215},"language-bash shiki shiki-themes github-light github-dark","dotnet nuget add source \"https://packages.unvell.com/nuget/v3/index.json\" \\\n  --name reogrid \\\n  --username \"\u003Cyour-portal-email>\" \\\n  --password \"\u003Cyour-token>\" \\\n  --store-password-in-clear-text\n","bash",[69,237,238,264,275,286,297],{"__ignoreMap":215},[239,240,243,247,251,254,257,260],"span",{"class":241,"line":242},"line",1,[239,244,246],{"class":245},"sScJk","dotnet",[239,248,250],{"class":249},"sZZnC"," nuget",[239,252,253],{"class":249}," add",[239,255,256],{"class":249}," source",[239,258,259],{"class":249}," \"https://packages.unvell.com/nuget/v3/index.json\"",[239,261,263],{"class":262},"sj4cs"," \\\n",[239,265,267,270,273],{"class":241,"line":266},2,[239,268,269],{"class":262},"  --name",[239,271,272],{"class":249}," reogrid",[239,274,263],{"class":262},[239,276,278,281,284],{"class":241,"line":277},3,[239,279,280],{"class":262},"  --username",[239,282,283],{"class":249}," \"\u003Cyour-portal-email>\"",[239,285,263],{"class":262},[239,287,289,292,295],{"class":241,"line":288},4,[239,290,291],{"class":262},"  --password",[239,293,294],{"class":249}," \"\u003Cyour-token>\"",[239,296,263],{"class":262},[239,298,300],{"class":241,"line":299},5,[239,301,302],{"class":262},"  --store-password-in-clear-text\n",[16,304,305],{},[30,306,307,308,310],{},"Or add to ",[69,309,195],{},":",[16,312,313,314,316],{},"Place a ",[69,315,195],{}," next to your project or solution.",[207,318,322],{"className":319,"code":320,"language":321,"meta":215,"style":215},"language-xml shiki shiki-themes github-light github-dark","\u003C?xml version=\"1.0\" encoding=\"utf-8\"?>\n\u003Cconfiguration>\n  \u003CpackageSources>\n    \u003Cadd key=\"reogrid\" value=\"https://packages.unvell.com/nuget/v3/index.json\" />\n  \u003C/packageSources>\n  \u003CpackageSourceCredentials>\n    \u003Creogrid>\n      \u003Cadd key=\"Username\" value=\"\u003Cyour-portal-email>\" />\n      \u003Cadd key=\"ClearTextPassword\" value=\"\u003Cyour-token>\" />\n    \u003C/reogrid>\n  \u003C/packageSourceCredentials>\n\u003C/configuration>\n","xml",[69,323,324,329,334,339,344,349,355,361,367,373,379,385],{"__ignoreMap":215},[239,325,326],{"class":241,"line":242},[239,327,328],{},"\u003C?xml version=\"1.0\" encoding=\"utf-8\"?>\n",[239,330,331],{"class":241,"line":266},[239,332,333],{},"\u003Cconfiguration>\n",[239,335,336],{"class":241,"line":277},[239,337,338],{},"  \u003CpackageSources>\n",[239,340,341],{"class":241,"line":288},[239,342,343],{},"    \u003Cadd key=\"reogrid\" value=\"https://packages.unvell.com/nuget/v3/index.json\" />\n",[239,345,346],{"class":241,"line":299},[239,347,348],{},"  \u003C/packageSources>\n",[239,350,352],{"class":241,"line":351},6,[239,353,354],{},"  \u003CpackageSourceCredentials>\n",[239,356,358],{"class":241,"line":357},7,[239,359,360],{},"    \u003Creogrid>\n",[239,362,364],{"class":241,"line":363},8,[239,365,366],{},"      \u003Cadd key=\"Username\" value=\"\u003Cyour-portal-email>\" />\n",[239,368,370],{"class":241,"line":369},9,[239,371,372],{},"      \u003Cadd key=\"ClearTextPassword\" value=\"\u003Cyour-token>\" />\n",[239,374,376],{"class":241,"line":375},10,[239,377,378],{},"    \u003C/reogrid>\n",[239,380,382],{"class":241,"line":381},11,[239,383,384],{},"  \u003C/packageSourceCredentials>\n",[239,386,388],{"class":241,"line":387},12,[239,389,390],{},"\u003C/configuration>\n",[52,392],{},[138,394,396],{"id":395},"_3-install-the-package","3. Install the Package",[16,398,399],{},"Once the feed is added, install the package that matches your UI framework.",[207,401,403],{"className":233,"code":402,"language":235,"meta":215,"style":215},"# WinForms\ndotnet add package unvell.ReoGrid4\n\n# WPF\ndotnet add package unvell.ReoGrid4.Wpf\n",[69,404,405,411,423,429,434],{"__ignoreMap":215},[239,406,407],{"class":241,"line":242},[239,408,410],{"class":409},"sJ8bj","# WinForms\n",[239,412,413,415,417,420],{"class":241,"line":266},[239,414,246],{"class":245},[239,416,253],{"class":249},[239,418,419],{"class":249}," package",[239,421,422],{"class":249}," unvell.ReoGrid4\n",[239,424,425],{"class":241,"line":277},[239,426,428],{"emptyLinePlaceholder":427},true,"\n",[239,430,431],{"class":241,"line":288},[239,432,433],{"class":409},"# WPF\n",[239,435,436,438,440,442],{"class":241,"line":299},[239,437,246],{"class":245},[239,439,253],{"class":249},[239,441,419],{"class":249},[239,443,444],{"class":249}," unvell.ReoGrid4.Wpf\n",[16,446,447,448,451,452,454,455,457],{},"If you install from the ",[30,449,450],{},"NuGet Package Manager"," in Visual Studio, select the feed above as the package source and ",[69,453,71],{}," / ",[69,456,75],{}," will appear. Use either the WinForms or the WPF package depending on your application.",[52,459],{},[11,461,463],{"id":462},"setting-the-license-key","Setting the License Key",[16,465,466,467,469,470,473],{},"The official NuGet feed serves ",[30,468,104],{},". Starting with v4.5, a ",[30,471,472],{},"license key is required"," to use ReoGrid.",[16,475,476,477,480],{},"Set the license key once, ",[30,478,479],{},"before"," using the grid — for example at application startup.",[207,482,486],{"className":483,"code":484,"language":485,"meta":215,"style":215},"language-csharp shiki shiki-themes github-light github-dark","using unvell.ReoGrid.License;\n\n// Set the key once, e.g. at application startup\nReoGridLicense.SetLicense(\"(the license key from your customer portal)\");\n","csharp",[69,487,488,493,497,502],{"__ignoreMap":215},[239,489,490],{"class":241,"line":242},[239,491,492],{},"using unvell.ReoGrid.License;\n",[239,494,495],{"class":241,"line":266},[239,496,428],{"emptyLinePlaceholder":427},[239,498,499],{"class":241,"line":277},[239,500,501],{},"// Set the key once, e.g. at application startup\n",[239,503,504],{"class":241,"line":288},[239,505,506],{},"ReoGridLicense.SetLicense(\"(the license key from your customer portal)\");\n",[16,508,509,510,41],{},"If no key is set, a gray overlay covers the entire grid and mouse/keyboard input, cell editing, and printing are blocked. License keys are also available from the customer portal. For details on v4.5, see the ",[19,511,514],{"href":512,"rel":513},"https://reogrid.net/articles/reogrid-v4-5-release/",[23],"ReoGrid 4.5 release article",[52,516],{},[11,518,520],{"id":519},"for-existing-customers","For Existing Customers",[16,522,523,524,41],{},"If you have been downloading DLLs from the customer portal, that method continues to work exactly as before. The new NuGet feed is available alongside it, so you can ",[30,525,526],{},"handle future version upgrades smoothly right inside Visual Studio",[16,528,529],{},"If you have any questions about creating a token or configuring the feed, please feel free to get in touch.",[52,531],{},[11,533,535],{"id":534},"related-links","Related Links",[59,537,538,544,549,556],{},[62,539,540],{},[19,541,543],{"href":147,"rel":542},[23],"Customer portal",[62,545,546],{},[19,547,514],{"href":512,"rel":548},[23],[62,550,551],{},[19,552,555],{"href":553,"rel":554},"https://reogrid.net/",[23],"ReoGrid official site",[62,557,558],{},[19,559,562],{"href":560,"rel":561},"https://reogrid.net/release-notes",[23],"ReoGrid release notes",[564,565,566],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":215,"searchDepth":266,"depth":266,"links":568},[569,570,571,576,577,578],{"id":13,"depth":266,"text":14},{"id":56,"depth":266,"text":57},{"id":110,"depth":266,"text":111,"children":572},[573,574,575],{"id":140,"depth":277,"text":141},{"id":201,"depth":277,"text":202},{"id":395,"depth":277,"text":396},{"id":462,"depth":266,"text":463},{"id":519,"depth":266,"text":520},{"id":534,"depth":266,"text":535},"2026-06-16","Starting with ReoGrid for .NET 4.5, an official NuGet feed is available. Licensed customers can create an authentication token in the customer portal and install or update ReoGrid directly from Visual Studio.","md",{},"/blog/en/reogrid-net-nuget-release",{"title":585,"description":586},"ReoGrid for .NET Official NuGet Feed — Install from Visual Studio with an Auth Token","ReoGrid for .NET now offers an official NuGet feed. Create an authentication token in the customer portal, add the feed via nuget.config or the dotnet CLI, and install or update unvell.ReoGrid4 / unvell.ReoGrid4.Wpf directly from Visual Studio.","blog/en/reogrid-net-nuget-release",[589,590,591,592,593],"reogrid",".net","nuget","visual-studio","release","/images/articles/reogrid-net-nuget.jpg","oec74SeoNAaK5i20N9DoK24UVRoe9hWYgamdRT5KCBc",1781595435067]