Enable DLL compilation - vb.net

I have a VB.NET Project, and would like to, as with C# Projects, build and have dll files generated and dumped in the Bin/debug folder.
Currently, I have the project configured for ANY CONFIGURATION and ALL CPUS but when I do a build, I still do not have a bin folder or a debug folder containing a DLL. What am I missing here please? Thanks in advance.

It sounds like you're asking two questions:
how do I get the dependency binaries copied to the startup application's bin/debug folder
how do I see the bin/debug folder in the solution explorer
For #1, this happens automatically, as long as your startup application has a reference to the other projects. This is true for VB.NET and C# projects.
For #2, I don't know how to see the bin/debug folder in the solution explorer, but I just right-click on the projects and choose "Open Folder in Windows Explorer". I've never had it not have a bin folder as long as everything compiled properly.

Related

what folder DLL will be saved

I'm a newbie to VB.net so please be easy
I'm writing a class library project and when I build solution, where the DLL is created and saved? I tried one and it's saved in bin/debug folder - Is this a default folder or I can option in diff. folder?
Thank you
Yes, bin\debug is the default for debug builds and bin\release is the default for release builds.
You can change this in the project properties on the Compile Tab. This value can vary for the different project configurations in your project.

Put additional Frameworks like Webkit.Net into a subfolder

That Webkit.Net project is great and working fine for me.
https://sourceforge.net/projects/webkitdotnet/
So how could I manage to exclude the dll and other files to separate subfolders? I was thinking about just putting the librarys into subfolder. But somehow I nowhere found a solution that works.
So how can I put the Wekbit.Net into the subfolder webkit.
Here some links I already looked through but not found a solution for vb and win forms:
How to save DLLs in a different folder when compiling in Visual Studio?
C# Putting the required DLLs somewhere other than the root of the output
Copy all files and folders using msbuild
NuGet issues with packages.config, project references and the solutionwide packages folder
http://www.visualmicro.com/page/User-Guide.aspx?doc=Add-Libraries.html
http://msdn.microsoft.com/en-us/library/ms181484.aspx
http://support.microsoft.com/kb/837908
If the Webkit assemblies are neither in the same directory as your application nor in the GAC, you have to tell your program where it can find them.
This answer explains how to resolve assemblies that couldn't been loaded by the CLR: https://stackoverflow.com/a/1373295

Visual Studios 2010 Shared Project?

I have been searching around for an answer to this question, but I cannot find the documentation on it. I found a few similar questions asked here, but none that completely cover it?
Similar Question
What do all of the different files in the project directory do? I am trying to make my project open source and I don't want to have a ton of unnecessary files in my repository. What files are vital and what files will be generated when the user initially loads the project? Its important to note that this is a VB Form Application
Base Directory:
*.vb
*.Designer.vb
*.resx
*.vbproj
*.sln
*.vbproj.user
*.config
Any of the other folders in the base directory?
*/bin
*/Collection
*/My Project
*/obj
*/Resources
*.suo and *.user files can be ignored. They store user specific settings such as window arrangements, open files etc. Those files are generated by Visual Studio whenever a solution is opened.
*.vb files are somewhat important since they contain your source code...
*.sln and *.vbproj files tell Visual Studio which projects are in a solution and which files are in a project, respectively. They also contain project specific settings such as build plattforms, custom build events, target .NET Framework etc.
*.resx and app.config can be important, depending on your project. They should not be left out when you publish your project, however since they're part of the Visual Studio project. If they're truly not needed you can remove them from the project.
Edit
Folders bin and obj are where Visual Studio generates the compiled output so you should not include those when you publish the source code of your project. Any other folders are project specific so it depends on your project if they're needed or not.
As a rule of thumb, anything that is automatically generated should be excluded when you publish your source code.
Also, if you don't already, you should use a version control system such as Subversion or GIT to manage your sources. Any essential files / folders as explained above should go in there.

TFS 2012 - binary files are not generated when using automatic build

I am newbie to TFS.
I am trying to automate process of build upon checking in the code in TFS.
I setup a Controller and an Agent. I created a new build definition and set a "build" and "drop" folder on c:.
I check in the code, expecting to see the generated dll files in "drop" folders. There's none, just "logs" folder. The "binaries" folder in "build" folder is also empty. Apparently the binaries are not being generated at all. How can I have MSBuild to generate the dll files?
They are generated when I compile the website locally on my development machine under "bin\" folder. The solution is comprised of two separate projects: "core" and "web" where "core" is referenced within "web".
Any thoughts?
What is the Summary showing of your build that ran? Or are there errors in your build? You can check the log of the build by opening the build in Visual Studio and then click View Log.

Output directory when building a WCF project in Visual Studio

I have a Visual Studio 2010 solution that is set to build in Debug x86. Visual Studio therefore sets the output path to \bin\x86\Debug, which seems logical enough.
The solution contains about 50 projects; the start-up project is a WCF project.
When I do a build, I would expect all output dlls to go to \bin\x86\Debug, as that is what is set in the project settings. But weirdly, I see dlls being created in bin\x86\Debug and in \bin. Why would Visual Studio put any dll in \bin if the output path is not set to that directory? It seems that all dlls go to \bin\x86\Debug, and all dlls except for the start-up project go into \bin. Any idea why it would do that? (We have other solutions that don't use WCF, and they don't have this problem.)
The other annoyance is if I run the service from Visual Studio and then try to access my service in a web browser, by going to http://localhost:1240/MyService.svc, it doesn't work, because the start-up project dll is missing from /bin. I therefore have to manually copy this one dll from \bin\x86\Debug to \bin, so that all dlls are found and the service runs normally. (We could of course add a custom post-build step that does the copy, but you'd think there'd be a better way!)
To those of you working on WCF projects, do you leave the output path at \bin\x86\Debug? (Perhaps there is a way to configure the service, eg in the web.config or .svc file, so that it knows the binaries are in \bin\x86\Debug instead of \bin?) Or do you change the output path to \bin so that you can run your service straight from Visual Studio?
If you open the property page of you WCF Hosting project and goto tab Build, under the Output section of this tag there is a textbox that contains the location of the output binaries.
For a WCF project the binaries should go to bin directory irrespective of the build type (suc as Debug, Release). Make sure this value has been configured correctly.
The value needs to be configured for each build type\configuration.
If you need, for whatever reason, different outputs from different build configurations in different folders you could specify them like you did first and use a post build event command line that copies from your specified output folder to bin.
Like:
- untested code -
COPY/Y "$(OutDir)\*.*" "$(SolutionDir)$(ProjectName)\bin\"
- untested code -