Open jods4 opened 7 years ago
Hi @jods4, would you be able to share your project file?
@mlorbetske It's a large, private solution that I can't share. Is there anything else I could do to help? Extract some logs maybe?
Mainly I'm looking for a few things within the csproj
file itself - attributes of the opening project
tag, any properties that change the globs that should influence compilation, any <xxx Remove=... />
elements in any item groups, TargetFramework(s)
and RuntimeIdentifier(s)
properties & any <PackageReference />
elements that reference Microsoft.NET.Sdk
(or Microsoft.NET.Sdk.{something}
) packages.
No problem I can post that later when I am at work.
I have Lightweight Solution Loading enabled.
I have a global.json at the root of solution, with:
{
"sdk": {
"version": "1.0.0-preview1-002702"
}
}
Here's my project .csproj:
<Project Sdk="Microsoft.NET.Sdk.Web" ToolsVersion="15.0">
<PropertyGroup>
<Version>2.6.0-svn</Version>
<OutputType>Exe</OutputType>
<TargetFramework>net46</TargetFramework>
<RuntimeIdentifier>win7-x86</RuntimeIdentifier>
<RootNamespace>****.***</RootNamespace>
<Prefer32Bit>True</Prefer32Bit>
<UserSecretsId>aspnet5-***-c2266f83-dbec-4f0b-98a7-6b49ff8c34b8</UserSecretsId>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.0.0-rc2-final" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.Cookies" Version="1.0.0-rc2-final" />
<PackageReference Include="Microsoft.AspNetCore.Diagnostics" Version="1.0.0-rc2-final" />
<PackageReference Include="Microsoft.AspNetCore.Identity" Version="1.0.0-rc2-final" />
<PackageReference Include="Microsoft.AspNetCore.Owin" Version="1.0.0-rc2-final" />
<PackageReference Include="Microsoft.AspNetCore.Server.IISIntegration" Version="1.0.0-rc2-final" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.0.0-rc2-final" />
<PackageReference Include="Microsoft.AspNetCore.WebSockets.Server" Version="0.1.0-rc2-final" />
<PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="1.0.0-rc2-final" />
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="1.0.0-rc2-final" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="1.0.0-rc2-final" />
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="1.0.0-rc2-final" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="1.0.0-rc2-final" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="1.0.0-rc2-final" />
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="1.0.0-rc2-final" />
<PackageReference Include="Aspose.Cells" Version="8.8.0" />
<PackageReference Include="Dapper" Version="1.42" />
<PackageReference Include="EntityFramework" Version="6.1.3" />
<PackageReference Include="Hangfire.Core" Version="1.5.4" />
<PackageReference Include="Hangfire.Dashboard.Authorization" Version="2.1.0" />
<PackageReference Include="Oracle.ManagedDataAccess" Version="12.1.24160419" />
<PackageReference Include="Oracle.ManagedDataAccess.EntityFramework" Version="12.1.2400" />
<PackageReference Include="RefactorThis.GraphDiff" Version="2.0.1" />
<PackageReference Include="SmartFormat.NET" Version="1.6.1" />
<PackageReference Include="Sybase.AdoNet4.AseClient" Version="4.157.401.0" />
<PackageReference Include="NLog" Version="4.2.3" />
<PackageReference Include="NLog.Schema" Version="4.2.3" />
<ProjectReference Include="../Hangfire.Oracle/Hangfire.Oracle.csproj" />
<ProjectReference Include="../EncryptedEnvironmentVariables/EncryptedEnvironmentVariables.csproj" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)'=='net46'">
<Reference Include="System.Data" Version="4.0.0.0" />
<Reference Include="System.Drawing" Version="4.0.0.0" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Properties\Aspose.Cells.lic">
<LogicalName>***.Properties.Aspose.Cells.lic</LogicalName>
</EmbeddedResource>
<!-- For user secrets id, until we migrate to newer fx -->
<!--<Content Include="project.json" CopyToOutputFolder="PreserveNewest" />
<Content Include="config.json" CopyToOutputFolder="PreserveNewest" />-->
<Content Include="NLog.config" CopyToOutputFolder="PreserveNewest" />
<Content Include="index.versioned.html" CopyToOutputFolder="PreserveNewest" />
</ItemGroup>
<ItemGroup>
<Compile Update="Data\CaseSensitiveOracleConnection.cs">
<SubType>Component</SubType>
</Compile>
<Compile Update="Data\WrappedOracleConnection.cs">
<SubType>Component</SubType>
</Compile>
</ItemGroup>
</Project>
Most of it was written by hand by me. I have no idea why VS added the last two files as Component.
One more piece of information that may help with this - could you go to Tools -> Options -> Projects and Solutions -> Build and Run
and change the MSBuild project build output verbosity
to diagnostic
and share the log? If you'd feel more comfortable sharing over mail, you can send it to me at mlorbe at microsoft dot com
Sorry I couldn't find time for that today. I will try to provide you that log next week.
Here's the output with Lightweight Solution Load enabled:
Build started ...
Build Failure. Error: 'path' cannot be an empty string ("") or start with the null character.
Parameter name: path
========== Build: 0 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
Calculating project dependencies...
Calculating project dependencies...
When Lightweight Solution Load is disabled, I have no issue. Log starts with
1>------ Build started: Project: Hangfire.Sql, Configuration: Debug Any CPU ------
2>------ Build started: Project: EncryptedEnvironmentVariables, Configuration: Debug Any CPU ------
2>Build started 14.03.2017 14:27:49.
2>Environment at start of build:
2>ALLUSERSPROFILE = C:\ProgramData
...
And goes on...
Also: I am now on VS 2017 RTM, the output above comes from RTM and the bug is still there.
VS2017 RC, Feb 7th update.
I don't know how it came to this situation, but I lost a lot of time before realizing that the build was not working anymore.
Doing a Build, Run, Debug or Rebuild always displays "Build succeeded" in the status bar. But in reality, it does nothing. I deleted the
bin
andobj
folder completely. After "building" the structurebin\Debug\net46
is there but stays empty (although VS says "build succeeded"). I tried "Clean" but it made no difference.Once you empty the folder, after the build "succeeds" if you try to run you get a dialog box that says the .exe does not exist on disk...
dotnet build
on the command line works perfectly.