Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.
If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!
Extensions directory
-
After creating a new extension, where to copy the "progetx" file?
Thanks
Product: ProGet
Version: 3.1.2
-
You have to set the path on the Admin > All Settings page, then copy the file there.
Once there, you'll need to restart the ProGet service (and also web application if separate).
-
Tod,
I updated path in extension directory settings.
Copied .progetx file to this path.
Restarted the ProGet service (integrated web server).I am still not seeing any change.
View/Manage extensions does not show any extensions as installed.
I created an extension similar to the one in http://inedo.com/support/questions/2199
Added attribute as below:
[ProGetComponentProperties("Filtered Package Store", "Filtered Package Store")]
public sealed class FilteredPackageStore : DirectoryPackageStoreIn Assembly.cs added
[assembly: Inedo.ProGet.Extensibility.ProGetAssembly]Created a zip file with my assembly and ICSharpCode.SharpZipLib.dll.
Renamed the extension to .progetxCopied this file to server Extensions directory.
Did I miss any step?
If possible can you guys post a simple end to end example of creating and using an extension.
Thanks
-
SharpZipLib should not be included in the .progetx archive, as it is already loaded by the ProGet web app and service.
Also, can you verify that the assembly name matches the xxxxx.progetx file name? For example, if your assembly name is "CustomExtension.dll", it should be in the file "CustomExtension.progetx".
-
Tod,
Thanks for the reply.
I removed SharpZipLib from the archive.
I renamed my CustomExtension.dll to CustomExtension.progetx
Stopped the service, copied this file and restarted the service, still no extension or errors detected.
-Reddy
-
Could you send your .progetx file to support@inedo.com?
-
I sent the file to email specified.
-
We haven't received anything yet. Could you try to re-send?
-
Tod,
I sent it again. Let me know if you don't receive it.
Thanks
-
After placing the file in my extensions path and restarting the service, I was able to see the extension.
Did you also make sure to restart the web application?
If so, try running the service interactively (i.e. stop the ProGet Windows service and run the ProGet.Service.exe file manually). This will show detailed log output to the console window, and one of the first messages will be about extension loading, e.g. "Initializing Extensions Manager..." and somewhere below that "Loading Extension XXXX..."
-
Tod,
Thanks for the reply. I am seeing the extension now.
However my extension is not working as expected.
I updated my feeds Package Store XML Configuration as
<MyNameSpace.MyDirectoryPackageStore Assembly="MyAssembly">
</MyNameSpace.MyDirectoryPackageStore>I even added call to
StoredProcs.LogMessages_AddMessage
to log message and I am not seeing any of my messages in [LogMessages] table.I see the following in recent errors section:
A severe error occurred when attempting to index the feed named "Test Feed". This feed's packages will not be indexed until the problem is corrected. For reference, the full error was: System.ArgumentException: Assembly 'MyAssembly' was not found. The Extension may have been deleted or could not be loaded.
Parameter name: assemblyName ---> System.IO.FileNotFoundException: Could not load file or assembly 'MyAssembly' or one of its dependencies. The system cannot find the file specified.
at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.Assembly.Load(AssemblyName assemblyRef)
at Inedo.ProGet.Extensibility.Persistence.CreateInstance(String assemblyName, String typeName)
--- End of inner exception stack trace ---
at Inedo.ProGet.Extensibility.Persistence.CreateInstance(String assemblyName, String typeName)
at Inedo.ProGet.Extensibility.Persistence.DeserializeFromPersistedObjectXml(String objXml)
at Inedo.ProGet.Extensibility.PackageStores.FeedExtensions.CreatePackageStore(Feeds feed, Nullable`1 pollFrequency)
at Inedo.ProGet.Service.IndexedFeed..ctor(Feeds feed)
at Inedo.ProGet.Service.FeedIndexerExecuter.Execute()A severe error occurred when attempting to index the feed named "Test Feed". This feed's packages will not be indexed until the problem is corrected. For reference, the full error was: System.ArgumentException: objXml is missing Properties element.
at Inedo.ProGet.Extensibility.Persistence.DeserializeFromPersistedObjectXml(String objXml)
at Inedo.ProGet.Extensibility.PackageStores.FeedExtensions.CreatePackageStore(Feeds feed, Nullable`1 pollFrequency)
at Inedo.ProGet.Service.IndexedFeed..ctor(Feeds feed)
at Inedo.ProGet.Service.FeedIndexerExecuter.Execute()
-
The assembly you sent in the .progetx file was named "{Company}ProGetExtensions", not "MyAssembly" - if you change that in the configuration and restart the services it should work.
-
Tod,
XML Configuration, in fact, is as you suggested, I was only using "MyAssembly" for reference.
This is how I have it.
<{Company}.ProGetExtensions.FilteredPackageStore Assembly="{Company}ProGetExtensions">
</{Company}.ProGetExtensions.FilteredPackageStore>I tried to start it from command line, same error.