Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×

Comment Re:I think... (Score 1) 304

he's probably talking about TFS as its known to be useless at merging. Nothing to do with VS at all, though his problems with solution projects and CI could be more to do with MSBuild and TFS's pretty poor build system.

Yeah, we don't use TFS. I haven't come across any issues with MSBuild as a build system, though.

The only thing I can think of where he'd have a point that VS is poor is the way projects depend on each other. Microsoft's "best practise" is to put all projects into a single huge solution so they can reference each other rather than building projects and referencing them from a common directory (as .net projects don't seem to like absolute paths in references... and if you put a reference path in your project, it turns out it gets stored in the per-user file, not anything that gets stored in source control. The old C++ way of include and link paths was a much better system when projects start to get big)

You're incorrect. Here's an excerpt from an old .csproj (which you should be storing in source control... the .suo and .csproj.user files are the per-user files) which shows a reference to a pre-compiled .dll file:

<Reference Include="SecureBlackbox, [...]">
    <SpecificVersion>False</SpecificVersion>
    <HintPath>C:\Program Files\EldoS\SecureBlackbox.NET\Assemblies\NET_20\SecureBlackbox.dll</HintPath>
</Reference>

Here's an excerpt from a .csproj showing project references (which are preferred):

<ProjectReference Include="..\myproj\myproj.csproj">
    <Project>{F4895F92-1E42-4322-9886-0585A5F06035}</Project>
    <Name>myproj</Name>
</ProjectReference>

Note that using absolute paths is generally a poor idea, as it requires every development machine to be set up exactly the same. Instead, solutions should contain subdirectiores, each containing one project. Project references such as the one above then always work, even when projects participate in multiple solutions (we do this ALL THE TIME). It took some time for us to work out a solid process on this, but we seem to have arrived at a very satisfactory solution. When we do references to pre-compiled DLLs (and we only do this for third-party libraries), there's a subdirectory at the solution level that contains those. That way, when multiple projects reference (for example) SQLite, they all reference the same version of it.

Comment Re:It depends on what you have and what you need (Score 1) 304

Overlapped I/O (or, on Unix, AIO). Learn it. Live it. Dedicating a thread to each open socket is the most brain-dead way to implement a system. It's like bubble sort for sockets. It's simple, it's easy, it's what the noobs do the first time around, but it should never, ever, be used in a system that requires performance.

By the way, C# supports asynchronous I/O using completion ports (on Windows). I don't know for sure if Java does, but I think NIO.2 might.

Slashdot Top Deals

May Euell Gibbons eat your only copy of the manual!

Working...