I want to set proxy config for NuGet as mentioned in NuGet behind a proxy.
But the proxy needs to be set only for one of the sources.
Can this be done?
Related
Apologies if this has been asked before; after two days of searching I can only find partial answers that don't fully relate to my situation, and are difficult to follow with my lack of experience.
I have a solution that contains four projects:
Class library (containing database connection strings, email server settings, plus lots of other settings)
Web application (web forms)
Web application (MVC)
Web API
Projects 2,3 & 4 all reference the class library, and use the database connection strings, etc, to function. These projects also contain their own additional settings in web.config, bespoke to that project.
Everything works great so far... However, I now need to publish client-specific versions of my solution, e.g. the solution for ClientABC requires different settings for each project than for ClientXYZ. All other aspects remain the same, it is simply the config settings across the four projects that need to change.
From my research, I hit upon something called SlowCheetah which transforms the config files based on the publish profile. That sounded promising, but then I get this problem, where the class library settings aren't pushed into the other projects. I can see bits of useful info in this question, but don't have the experience to apply it to my problem. I'd rather not duplicate the settings into respective project's config file if possible, as that feels messy.
Can anyone please offer me some help as to what's best here? I don't even know if I'm taking the right approach, but am pretty sure I can't be the first ask this?
but then I get this problem, where the class library settings aren't pushed into the other projects
you have to keep in mind that the configuration file is readed by the SturtUp application, your client. Class Library can't run directly, but inside a WebApp or WinApp or ConsoleApp
So, any settings that you put in your ClassLibrary configuration file must be copied in the configuration file of your WebApp.
Generally, I copy some settings from app.config to web.config but, if you search on internet, you can find a method to automate this operation.
I now need to publish client-specific versions of my solution
You can create many configuration profile and use a web.config transformation:
From ToolBar or Build Menu, select Configurazion Manager...
Create all configuration you need for clients
Now you can see different web.configuration files
Now you can specify different configurazion transformation for your ClientABC, ClientXYZ and publish them with specific configuration
EDIT:
So, you can adopt this solution for your Class Library too, or external config file, and include external file in your web.config: External Config
Is there a way to set Project Settings with Build Configuration specific values in VS2013?
I need to set different values for a WebServiceURL setting from one Build Configuration to another (say MSSQL configuration vs Oracle configuration).
I saw both a preprocessor assembly configuration using #if DEBUG and an afterbuild config file overwrite approach, but the former does not allow for custom configuration names or more than 2 configurations while the later involves copying files after build rather than the quick and easy edit in the Project Properties > Settings page.
Is there something similar to Web.config Transformation available to App.config maybe?
Try this plugin, it works for me. And you can transform any xml-file.
https://visualstudiogallery.msdn.microsoft.com/579d3a78-3bdd-497c-bc21-aa6e6abbc859
I work on a team that works on a project. I change my project web config file to set a specific connection string but when I check-in or get latest version of project it changes to others connection strings. I have same problem in WCF Service references. appconfig and xsd files of service references always corrupted when I check-in or get latest version of program from tfs and I have to delete service references and add it again! How can I get rid of this?
We had the same issue on our project (with connection strings), and found a good solution: http://msdn.microsoft.com/en-us/library/ms254494(v=vs.110).aspx
By adding a connections.config file for each developer with his own connection string, we just needed to say that this file must not be a part of Source Control. Then in the web.config connectionString section, you just refer to the connections.config file.
Just be aware that you need to either transform your web.config or add the connections.config when publishing the site.
I know you can do the same about the appSettings section in the web.config.
How you do it with WCF, I don't know - but it sounds strange to me that your are not using the same WCF refence.
There are many solutions.
The team uses the same configuration (e.g. everyone uses localhost references)
You separate user from application settings (do not apply to all kind of settings nor projects)
Use transforms and solution configuration to map have per-environment setting
Use configSource to move config section in separate files that are not under version control
I do not think there is a perfect solution, but maybe you apply a mix of these. I strongly suggest to apply them in the stated order.
I am using the Nuget Packager extension to create a Nuget Package to include my Logger project and Nlog. I have this working correctly but had a question about how do i use the correct config file for multiple environments (Dev/QA/Prod)?
Do I have multiple config files, one for each environment in the package? but how does the correct one get applied in QA for example, since different environments might have different listeners or targets? Whats the best way to accomplish this, an example to show how to do this would be great since i am new to Nuget and Nlog.Thanks for your help!
Nlog supports different locations of its config file. One of the location is the main configuration file of application. For more information please see Nlog documentation
Then we can use config transformations option. Visual studio supports this by default for web firendly projects (ASP.NET MVC, WCF etc.). If you application is of different type you can use an extension called SlowCheetah(NuGet Link). More information can be found at this page.
Config transformation deped on build configurations in visual studio. In web project you can see that web.config has two transformations: web.Debug.config and web.Release.config.
Hope it helps
I've made updates to my 'hub'. Specifically, I've added a few new methods. It works fine when I debug within VS 2012. However, when I publish it to my local IIS the signalr/hubs is still generating the old proxy hub. The new methods aren't listed.
To ensure it wasn't an older version of the assembly, I ran it through ILSpy and I can see the new methods.
I've tried something minor, modifying the HubName attribute to see if even that change would be reflected in the new proxy hub. It isn't.
Any thoughts on how to force the signalr/hubs url to generate the proper proxy? I've tried adding ?120 etc onto the end to see if it's cached, it didn't make any difference.
İf you recycled application pool and still not working,
Instead of changing the AssemblyVersion attribute in AssemblyInfo.cs change AssemblyFileVersion, this will leave all the loading of your Assembly untouched but give you the option to look at the deployed version in the GAC.
The normal location for shared assemblies are stored in the Global Assembley Cache aka. GAC.
To add or remove assembles use the Visual Studio or Microsoft Net Gac utility. Other alternative for GAC operations GACView v1.11 - Global Assembly Cache (GAC) Viewer
The issue was that the site was being deployed as a sub-application. It has another application sitting above it so the url for the signalr/hubs that we copied from the samples was wrong for our build. We needed it to be relative, so adding the ~ onto the front fixed the issue.