dotnet / msbuild

The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio.
https://docs.microsoft.com/visualstudio/msbuild/msbuild
MIT License
5.21k stars 1.35k forks source link

dotnet build issues after upgrading to V3. #4804

Open Ncage1974 opened 5 years ago

Ncage1974 commented 5 years ago

We upgraded our build server to to V3 of .net core (because we updated visual studio 2019 to the latest version).

Received the following error when trying to do a dotnet build <project name>:

C:\Program Files\dotnet\sdk\3.0.100\Microsoft.Common.CurrentVersion.targets(3056,5): error : MSB3823: Non-string resources require the property GenerateResourceUsePreserializedResources to be set to true. [C:\source\Star\Shared Objects\TrsError Object\VB Code\TrsErrorObjectNet.vbproj] C:\Program Files\dotnet\sdk\3.0.100\Microsoft.Common.CurrentVersion.targets(3056,5): error : MSB3822: Non-string resources require the System.Resources.Extensions assembly at runtime, but it was not found in this project's references. [C:\source\Star\Shared Objects\TrsError Object\VB Code\TrsErrorObjectNet.vbproj] 25 Warning(s) 2 Error(s)

Read the following issue and tried to implement these changes: https://github.com/microsoft/msbuild/issues/4704

Now every time i build the project with dotnet build i receive the following error:

C:\Program Files\dotnet\sdk\3.0.100\Microsoft.Common.CurrentVersion.targets(3056,5): error : MSB3822: Non-string resources require the System.Resources.Extensions assembly at runtime, but it was not found in this project's references. [C:\source\Star\Shared Objects\TrsError Object\VB Code\TrsErrorObjectNet.vbproj]

I did reference System.Resources.Extensions but it doesn't seem to matter.
Now if i build with msbuild first (through visual studio) and then execute a dotnet build it works fine for TRSErrorObjectNet project above but moves to another project. But if i clean the solution i will get the same problem again.

We are building a dotnet core (2.0) project that has references to .Net Framework Dlls (.Net framework 4.6). The project has a System.WIndows.Forms.PictureBox that uses an image that was included in the project.

Here is the designer code for the setup:

        Me.pbxStop.Image = CType(resources.GetObject("pbxStop.Image"), System.Drawing.Image)
        Me.pbxStop.Location = New System.Drawing.Point(11, 5)
        Me.pbxStop.Name = "pbxStop"
        Me.pbxStop.Size = New System.Drawing.Size(32, 32)
        Me.pbxStop.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage
        Me.pbxStop.TabIndex = 0
        Me.pbxStop.TabStop = False

Since this code is designer code its kind of impossible for me to change Version info: dotnet: 3.0.100 msbuild: 16.3.0.46305

rainersigwald commented 5 years ago

Can you elaborate on this?

I did reference System.Resources.Extensions but it doesn't seem to matter.

Exactly how did you reference it?

Ncage1974 commented 5 years ago

Can you elaborate on this?

I did reference System.Resources.Extensions but it doesn't seem to matter.

Exactly how did you reference it?

Sure a picture is worth a 1000 words: image

Let me know if you need me to additional information or if i wasn't clear on anything i posted.

rainersigwald commented 5 years ago

Can you also share the project file change caused by doing that?

Ncage1974 commented 5 years ago

Can you also share the project file change caused by doing that?

Sure (i just added the multiple <GenerateResourceUsePreserializedResources>true</GenerateResourceUsePreserializedResources> that you seen in the project file):

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="12.0">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProductVersion>9.0.30729</ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{32DD1432-1AAF-4CA7-93DE-D3C5AF5CC603}</ProjectGuid>
    <OutputType>Library</OutputType>
    <RootNamespace>
    </RootNamespace>
    <AssemblyName>TrsErrorObjectNet</AssemblyName>
    <MyType>Windows</MyType>
    <OptionStrict>On</OptionStrict>
    <OptionCompare>Text</OptionCompare>
    <SccProjectName>SAK</SccProjectName>
    <SccLocalPath>SAK</SccLocalPath>
    <SccAuxPath>SAK</SccAuxPath>
    <SccProvider>SAK</SccProvider>
    <FileUpgradeFlags>
    </FileUpgradeFlags>
    <OldToolsVersion>3.5</OldToolsVersion>
    <UpgradeBackupLocation>
    </UpgradeBackupLocation>
    <OptionInfer>On</OptionInfer>
    <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
    <TargetFrameworkProfile />
    <PublishUrl>publish\</PublishUrl>
    <Install>true</Install>
    <InstallFrom>Disk</InstallFrom>
    <UpdateEnabled>false</UpdateEnabled>
    <UpdateMode>Foreground</UpdateMode>
    <UpdateInterval>7</UpdateInterval>
    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
    <UpdatePeriodically>false</UpdatePeriodically>
    <UpdateRequired>false</UpdateRequired>
    <MapFileExtensions>true</MapFileExtensions>
    <ApplicationRevision>0</ApplicationRevision>
    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
    <IsWebBootstrapper>false</IsWebBootstrapper>
    <UseApplicationTrust>false</UseApplicationTrust>
    <BootstrapperEnabled>true</BootstrapperEnabled>
    <GenerateResourceUsePreserializedResources>true</GenerateResourceUsePreserializedResources>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <DefineDebug>true</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <OutputPath>bin\Debug\</OutputPath>
    <DocumentationFile>
    </DocumentationFile>
    <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355</NoWarn>
    <WarningLevel>1</WarningLevel>
    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
    <RegisterForComInterop>false</RegisterForComInterop>
    <BaseAddress>1395654656</BaseAddress>
    <UseVSHostingProcess>true</UseVSHostingProcess>
    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
    <PlatformTarget>AnyCPU</PlatformTarget>
    <GenerateResourceUsePreserializedResources>true</GenerateResourceUsePreserializedResources>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
    <DebugType>pdbonly</DebugType>
    <DebugSymbols>true</DebugSymbols>
    <DefineDebug>false</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release\</OutputPath>
    <DocumentationFile>
    </DocumentationFile>
    <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355</NoWarn>
    <WarningLevel>1</WarningLevel>
    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
    <RegisterForComInterop>false</RegisterForComInterop>
    <BaseAddress>1395654656</BaseAddress>
    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
    <PlatformTarget>AnyCPU</PlatformTarget>
    <GenerateResourceUsePreserializedResources>true</GenerateResourceUsePreserializedResources>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
    <DebugSymbols>true</DebugSymbols>
    <DefineDebug>true</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <OutputPath>bin\Debug\</OutputPath>
    <BaseAddress>1395654656</BaseAddress>
    <WarningLevel>1</WarningLevel>
    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
    <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355</NoWarn>
    <DebugType>full</DebugType>
    <PlatformTarget>AnyCPU</PlatformTarget>
    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
    <Prefer32Bit>false</Prefer32Bit>
    <GenerateResourceUsePreserializedResources>true</GenerateResourceUsePreserializedResources>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
    <DefineTrace>true</DefineTrace>
    <OutputPath>bin\Release\</OutputPath>
    <BaseAddress>1395654656</BaseAddress>
    <Optimize>false</Optimize>
    <WarningLevel>1</WarningLevel>
    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
    <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355</NoWarn>
    <DebugType>pdbonly</DebugType>
    <DebugSymbols>true</DebugSymbols>
    <PlatformTarget>AnyCPU</PlatformTarget>
    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
    <Prefer32Bit>false</Prefer32Bit>
    <GenerateResourceUsePreserializedResources>true</GenerateResourceUsePreserializedResources>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
    <DebugSymbols>true</DebugSymbols>
    <DefineDebug>true</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <OutputPath>bin\Debug\</OutputPath>
    <BaseAddress>1395654656</BaseAddress>
    <WarningLevel>1</WarningLevel>
    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
    <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355</NoWarn>
    <DebugType>full</DebugType>
    <PlatformTarget>AnyCPU</PlatformTarget>
    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
    <GenerateResourceUsePreserializedResources>true</GenerateResourceUsePreserializedResources>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
    <DebugSymbols>true</DebugSymbols>
    <DefineTrace>true</DefineTrace>
    <OutputPath>bin\Release\</OutputPath>
    <BaseAddress>1395654656</BaseAddress>
    <Optimize>true</Optimize>
    <WarningLevel>1</WarningLevel>
    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
    <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355</NoWarn>
    <DebugType>pdbonly</DebugType>
    <PlatformTarget>AnyCPU</PlatformTarget>
    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
    <GenerateResourceUsePreserializedResources>true</GenerateResourceUsePreserializedResources>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="System" />
    <Reference Include="System.Core">
      <RequiredTargetFramework>3.5</RequiredTargetFramework>
    </Reference>
    <Reference Include="System.Data" />
    <Reference Include="System.Drawing" />
    <Reference Include="System.Resources.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.XML" />
  </ItemGroup>
  <ItemGroup>
    <Import Include="Microsoft.VisualBasic" />
    <Import Include="System" />
    <Import Include="System.Data" />
    <Import Include="System.Drawing" />
    <Import Include="System.IO" />
    <Import Include="System.Reflection" />
    <Import Include="System.Runtime.InteropServices" />
    <Import Include="System.Security.Principal.WindowsIdentity" />
    <Import Include="System.Windows.Forms" />
    <Import Include="Trs.Applications.Shared" />
    <Import Include="TRS.Applications.STAR.Shared" />
    <Import Include="TRS.DataAccess" />
    <Import Include="TRS.DataAccess.SqlServer" />
    <Import Include="TRS.DataAccess.SqlServer.TrsAdoNet" />
    <Import Include="TRS.DateTime.TrsDateTime" />
    <Import Include="TRS.Exceptions" />
    <Import Include="TRSEnums" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="frmTrsError.Designer.vb">
      <DependentUpon>frmTrsError.vb</DependentUpon>
    </Compile>
    <Compile Include="frmTrsError.vb">
      <SubType>Form</SubType>
    </Compile>
    <Compile Include="TrsError.vb" />
    <Compile Include="My Project\AssemblyInfo.vb" />
    <Compile Include="My Project\Application.Designer.vb">
      <AutoGen>True</AutoGen>
      <DependentUpon>Application.myapp</DependentUpon>
    </Compile>
    <Compile Include="My Project\Resources.Designer.vb">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>Resources.resx</DependentUpon>
    </Compile>
    <Compile Include="My Project\Settings.Designer.vb">
      <AutoGen>True</AutoGen>
      <DependentUpon>Settings.settings</DependentUpon>
      <DesignTimeSharedInput>True</DesignTimeSharedInput>
    </Compile>
  </ItemGroup>
  <ItemGroup>
    <EmbeddedResource Include="frmTrsError.resx">
      <SubType>Designer</SubType>
      <DependentUpon>frmTrsError.vb</DependentUpon>
    </EmbeddedResource>
    <EmbeddedResource Include="My Project\Resources.resx">
      <Generator>VbMyResourcesResXFileCodeGenerator</Generator>
      <LastGenOutput>Resources.Designer.vb</LastGenOutput>
      <CustomToolNamespace>My.Resources</CustomToolNamespace>
      <SubType>Designer</SubType>
    </EmbeddedResource>
  </ItemGroup>
  <ItemGroup>
    <None Include="My Project\Application.myapp">
      <Generator>MyApplicationCodeGenerator</Generator>
      <LastGenOutput>Application.Designer.vb</LastGenOutput>
    </None>
    <None Include="My Project\Settings.settings">
      <Generator>SettingsSingleFileGenerator</Generator>
      <CustomToolNamespace>My</CustomToolNamespace>
      <LastGenOutput>Settings.Designer.vb</LastGenOutput>
    </None>
  </ItemGroup>
  <ItemGroup>
    <None Include="Stop.ico" />
  </ItemGroup>
  <ItemGroup>
    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
      <Visible>False</Visible>
      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
      <Install>false</Install>
    </BootstrapperPackage>
    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
      <Visible>False</Visible>
      <ProductName>.NET Framework 3.5 SP1</ProductName>
      <Install>true</Install>
    </BootstrapperPackage>
    <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
      <Visible>False</Visible>
      <ProductName>Windows Installer 3.1</ProductName>
      <Install>true</Install>
    </BootstrapperPackage>
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\..\TRS.DateTime\TRS.DateTime.vbproj">
      <Project>{229eff90-73ef-41f9-bd0c-b3fd5726d8ed}</Project>
      <Name>TRS.DateTime</Name>
      <Private>True</Private>
    </ProjectReference>
    <ProjectReference Include="..\..\TrsAdoNet\VB Code\trsAdoNet.vbproj">
      <Project>{2e4f743d-36bb-4909-8239-44b1840f2107}</Project>
      <Name>trsAdoNet</Name>
      <Private>True</Private>
    </ProjectReference>
    <ProjectReference Include="..\..\TrsEmail\VB Code\TrsEmailNET.vbproj">
      <Project>{8c2f6319-06e2-48c0-9076-11ff67b15722}</Project>
      <Name>TrsEmailNET</Name>
      <Private>True</Private>
    </ProjectReference>
    <ProjectReference Include="..\..\TRSEnums\TRSEnums.vbproj">
      <Project>{551bf1b6-27ff-40ab-92ae-8f6afc38a604}</Project>
      <Name>TRSEnums</Name>
      <Private>True</Private>
    </ProjectReference>
    <ProjectReference Include="..\..\TrsExceptions\VB Code\TrsExceptions.vbproj">
      <Project>{9519ac67-ba32-4038-bef1-545c3b7142ad}</Project>
      <Name>TrsExceptions</Name>
      <Private>True</Private>
    </ProjectReference>
    <ProjectReference Include="..\..\TRSLaserFicheInfo\TRSLaserFicheInfo.vbproj">
      <Project>{25c31861-35b2-4f79-aeb4-455178b11b2b}</Project>
      <Name>TRSLaserFicheInfo</Name>
      <Private>True</Private>
    </ProjectReference>
    <ProjectReference Include="..\..\TRSSettings\TRSSettings.vbproj">
      <Project>{9d77501b-7a14-495a-ad4a-020c1fddfddb}</Project>
      <Name>TRSSettings</Name>
      <Private>True</Private>
    </ProjectReference>
    <ProjectReference Include="..\..\TrsWin32Functions\CSharp Code\TrsWin32Functions.csproj">
      <Project>{bc5a48e9-06f1-4ffa-9d11-1103a96993c3}</Project>
      <Name>TrsWin32Functions</Name>
      <Private>True</Private>
    </ProjectReference>
  </ItemGroup>
  <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
       Other similar extension points exist, see Microsoft.Common.targets.
  <Target Name="BeforeBuild">
  </Target>
  <Target Name="AfterBuild">
  </Target>
  -->
  <PropertyGroup>
    <PostBuildEvent>IF "$(BuildingInsideVisualStudio)"=="true" IF "$(BuildingInsideVisualStudio)"=="true" c:\starfiles\DevBuildUtility.exe $(TargetFileName), $(TargetPath),1</PostBuildEvent>
  </PropertyGroup>
</Project>
rainersigwald commented 5 years ago

dotnet build can only build projects that use the .NET Core SDK. That project can be successfully built only with msbuild.exe. Do you get the same error if you build that way?

Ncage1974 commented 5 years ago

dotnet build can only build projects that use the .NET Core SDK. That project can be successfully built only with msbuild.exe. Do you get the same error if you build that way?

So i'm actually not building it directly. I'm building a dotnet core project which has dotnet framework as project dependencies. These projects reference TRSErrorObjectNet. If this helps here the build log:

C:\source\Star\Web\APIs\Trs.Web.Api.Upload [TeamAvengers_PBI30492 +0 ~2 -0 !]> dotnet build .\Trs.Web.Api.Upload.csproj
Microsoft (R) Build Engine version 16.3.0+0f4c62fea for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restore completed in 54.85 ms for C:\source\Star\Web\APIs\Trs.Web.Api.Upload\Trs.Web.Api.Upload.csproj.
  Restore completed in 49.61 ms for C:\source\Star\Web\APIs\Trs.Web.Api.Upload\Trs.Web.Api.Upload.csproj.
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.CSharp.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Web\Components\TRS.Web.Shared\TRS.Web.Shared.Enumerations\TRS.Web.Shared.Enumerations.csproj]
  TRS.DateTime -> C:\source\Star\Shared Objects\TRS.DateTime\bin\Debug\TRS.DateTime.dll
  Trs.Cryptography.Hashing -> C:\source\Star\Shared Objects\TrsCrypto\Trs.Cryptography.Hashing\bin\Debug\Trs.Cryptography.Hashing.dll
  TRS.Web.Shared.Enumerations -> C:\source\Star\Web\Components\TRS.Web.Shared\TRS.Web.Shared.Enumerations\bin\Debug\TRS.Web.Shared.Enumerations.dll
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TRSEnums\TRSEnums.vbproj]
  TRSEnums -> C:\source\Star\Shared Objects\TRSEnums\bin\Debug\TRSEnums.dll
  Trs.Cryptography.Utilities -> C:\source\Star\Shared Objects\TrsCrypto\Trs.Cryptography.Utilities\bin\Debug\Trs.Cryptography.Utilities.dll
  AiCalculator -> C:\source\Star\Shared Objects\AiCalculator\bin\Debug\AiCalculator.dll
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TrsExceptions\VB Code\TrsExceptions.vbproj]
  TrsExceptions -> C:\source\Star\Shared Objects\TrsExceptions\VB Code\bin\Debug\TrsExceptions.dll
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TrsSecureConnection\VB Code\TrsSecureConnection.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.CSharp.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TrsWin32Functions\CSharp Code\TrsWin32Functions.csproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TRSDataTypes\VB Code\TRSDataTypes.vbproj]
  TrsWin32Functions -> C:\source\Star\Shared Objects\TrsWin32Functions\CSharp Code\bin\Debug\TrsWin32Functions.dll
  TRSDataTypes -> C:\source\Star\Shared Objects\TRSDataTypes\VB Code\bin\Debug\TRSDataTypes.dll
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TrsUtilities\VB Code\TrsUtilities.vbproj]
  TrsUtilities -> C:\source\Star\Shared Objects\TrsUtilities\VB Code\bin\Debug\TRSUtilities.dll
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "MinimumRecommendedRules.ruleset". [C:\source\Star\Shared Objects\TRSSettings\TRSSettings.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.CSharp.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Web\Components\TRS.Web.Shared\TRS.Web.Shared.DTO\TRS.Web.Shared.DTO.csproj]
  TRSSettings -> C:\source\Star\Shared Objects\TRSSettings\bin\Debug\TRSSettings.dll
  TrsSecureConnection -> C:\source\Star\Shared Objects\TrsSecureConnection\VB Code\bin\Debug\TrsSecureConnection.dll
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TrsFieldManager\VB Code\TrsFieldManagerNet.vbproj]
  TRS.Web.Shared.DTO -> C:\source\Star\Web\Components\TRS.Web.Shared\TRS.Web.Shared.DTO\bin\Debug\TRS.Web.Shared.DTO.dll
  TrsFieldManagerNet -> C:\source\Star\Shared Objects\TrsFieldManager\VB Code\bin\Debug\TrsFieldManagerNet.dll
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TrsStructures\VB Code\TrsStructures.vbproj]
  TrsStructures -> C:\source\Star\Shared Objects\TrsStructures\VB Code\bin\Debug\TrsStructures.dll
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "MinimumRecommendedRules.ruleset". [C:\source\Star\Shared Objects\TrsAdoNet\VB Code\trsAdoNet.vbproj]
  trsAdoNet -> C:\source\Star\Shared Objects\TrsAdoNet\VB Code\bin\Debug\TrsAdoNet.dll
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TrsRateFuncs\VB CODE\TrsRateFuncs.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TrsErrorTable\VB Code\TrsErrorTable.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Infrastructure\TRS Shared Infrastructure\VB Code\TRSInfrastructureSharedNet.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TRSLaserFicheInfo\TRSLaserFicheInfo.vbproj]
  TrsRateFuncs -> C:\source\Star\Shared Objects\TrsRateFuncs\VB CODE\bin\Debug\TrsRateFuncsNET.dll
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TrsAccounting\VB Code\trsAccounting.vbproj]
  TRSInfrastructureSharedNet -> C:\source\Star\Infrastructure\TRS Shared Infrastructure\VB Code\bin\Debug\TRSSharedInfrastructureNet.dll
  TRSLaserFicheInfo -> C:\source\Star\Shared Objects\TRSLaserFicheInfo\bin\Debug\TRSLaserFicheInfo.dll
  trsAccounting -> C:\source\Star\Shared Objects\TrsAccounting\VB Code\bin\Debug\trsAccountingNet.dll
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TrsAddressValidation\VB Code\TrsAddressValidation.vbproj]
  TrsAddressValidation -> C:\source\Star\Shared Objects\TrsAddressValidation\VB Code\bin\Debug\TrsAddressValidation.dll
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "MinimumRecommendedRules.ruleset". [C:\source\Star\Shared Objects\TRSGenerateReport\TRSGenerateReport.vbproj]
  TrsErrorTable -> C:\source\Star\Shared Objects\TrsErrorTable\VB Code\bin\Debug\TrsErrorTable.dll
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TrsActivityLog\VB Code\TrsActivityLogNet.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Infrastructure\TRS Job Library\VB Code\TRSJobLibraryNet.vbproj]
  TRSJobLibraryNet -> C:\source\Star\Infrastructure\TRS Job Library\VB Code\bin\Debug\TRSJobLibraryNet.dll
  TRSGenerateReport -> C:\source\Star\Shared Objects\TRSGenerateReport\bin\Debug\TRSGenerateReport.dll
  TrsActivityLogNet -> C:\source\Star\Shared Objects\TrsActivityLog\VB Code\bin\Debug\TrsActivityLogNet.dll
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TrsSharedData\VB Code\TRSSharedData.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Infrastructure\TRS Report Interface\VB Code\trsReportInterfaceNet.vbproj]
  TRSSharedData -> C:\source\Star\Shared Objects\TrsSharedData\VB Code\bin\Debug\TRSSharedData.dll
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TrsEmail\VB Code\TrsEmailNET.vbproj]
  TrsEmailNET -> C:\source\Star\Shared Objects\TrsEmail\VB Code\bin\Debug\TrsEmailNET.dll
  trsReportInterfaceNet -> C:\source\Star\Infrastructure\TRS Report Interface\VB Code\bin\Debug\TRSReportInterfaceNet.dll
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.Common.CurrentVersion.targets(2106,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "System.Resources.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\source\Star\Shared Objects\TrsError Object\VB Code\TrsErrorObjectNet.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.Common.CurrentVersion.targets(3056,5): error : MSB3822: Non-string resources require the System.Resources.Extensions assembly at runtime, but it was not found in this project's references. [C:\source\Star\Shared Objects\TrsError Object\VB Code\TrsErrorObjectNet.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.Common.CurrentVersion.targets(3056,5): warning MSB3555: Output file "C:\source\Star\Shared Objects\TrsError Object\VB Code\obj\Debug\frmTrsError.resources" is possibly corrupt. [C:\source\Star\Shared Objects\TrsError Object\VB Code\TrsErrorObjectNet.vbproj]

Build FAILED.

C:\Program Files\dotnet\sdk\3.0.100\Microsoft.CSharp.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Web\Components\TRS.Web.Shared\TRS.Web.Shared.Enumerations\TRS.Web.Shared.Enumerations.csproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TRSEnums\TRSEnums.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TrsExceptions\VB Code\TrsExceptions.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TrsSecureConnection\VB Code\TrsSecureConnection.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.CSharp.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TrsWin32Functions\CSharp Code\TrsWin32Functions.csproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TRSDataTypes\VB Code\TRSDataTypes.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TrsUtilities\VB Code\TrsUtilities.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "MinimumRecommendedRules.ruleset". [C:\source\Star\Shared Objects\TRSSettings\TRSSettings.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.CSharp.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Web\Components\TRS.Web.Shared\TRS.Web.Shared.DTO\TRS.Web.Shared.DTO.csproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TrsFieldManager\VB Code\TrsFieldManagerNet.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TrsStructures\VB Code\TrsStructures.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "MinimumRecommendedRules.ruleset". [C:\source\Star\Shared Objects\TrsAdoNet\VB Code\trsAdoNet.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TrsRateFuncs\VB CODE\TrsRateFuncs.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TrsErrorTable\VB Code\TrsErrorTable.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Infrastructure\TRS Shared Infrastructure\VB Code\TRSInfrastructureSharedNet.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TRSLaserFicheInfo\TRSLaserFicheInfo.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TrsAccounting\VB Code\trsAccounting.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TrsAddressValidation\VB Code\TrsAddressValidation.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "MinimumRecommendedRules.ruleset". [C:\source\Star\Shared Objects\TRSGenerateReport\TRSGenerateReport.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TrsActivityLog\VB Code\TrsActivityLogNet.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Infrastructure\TRS Job Library\VB Code\TRSJobLibraryNet.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TrsSharedData\VB Code\TRSSharedData.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Infrastructure\TRS Report Interface\VB Code\trsReportInterfaceNet.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.VisualBasic.CurrentVersion.targets(135,9): warning MSB3884: Could not find rule set file "AllRules.ruleset". [C:\source\Star\Shared Objects\TrsEmail\VB Code\TrsEmailNET.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.Common.CurrentVersion.targets(2106,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "System.Resources.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\source\Star\Shared Objects\TrsError Object\VB Code\TrsErrorObjectNet.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.Common.CurrentVersion.targets(3056,5): warning MSB3555: Output file "C:\source\Star\Shared Objects\TrsError Object\VB Code\obj\Debug\frmTrsError.resources" is possibly corrupt. [C:\source\Star\Shared Objects\TrsError Object\VB Code\TrsErrorObjectNet.vbproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.Common.CurrentVersion.targets(3056,5): error : MSB3822: Non-string resources require the System.Resources.Extensions assembly at runtime, but it was not found in this project's references. [C:\source\Star\Shared Objects\TrsError Object\VB Code\TrsErrorObjectNet.vbproj]
    26 Warning(s)
    1 Error(s)

So the main project being built its dotnetcore 2.0 (Trs.Web.Api.Upload.csproj) . Everything else is .Net Framework 4.6 (project References). Make sense? Here is a screenshot: image

rainersigwald commented 5 years ago

msbuild.exe can build both .NET Framework and .NET Core projects. What happens if you run msbuild in C:\source\Star\Web\APIs\Trs.Web.Api.Upload from a Developer Command Prompt for VS 2019?

Ncage1974 commented 5 years ago

msbuild.exe can build both .NET Framework and .NET Core projects. What happens if you run msbuild in C:\source\Star\Web\APIs\Trs.Web.Api.Upload from a Developer Command Prompt for VS 2019?

Thanks for the help. At least building locally it seems to work. Question are there comparable parameters to msbuild that we pass to dotnet --self-contained -r win81-x64 -c Release

/p:PublishProfile=$(build.sourcesdirectory)\Web\APIs\Trs.Web.Api.Upload\Properties\PublishProfiles\Dev.pubxml

i see one for the publish profile file but not for self-contained or runtime options.

dsplaisted commented 5 years ago

Yes, most of the dotnet cli build or publish arguments map pretty directly to MSBuild properties. A lot of them are defined here. For example, the following code means that -r and --runtime map to the RuntimeIdentifiers property:

                Create.Option(
                    useShortOptions ? "-r|--runtime" : "--runtime" ,
                    LocalizableStrings.CmdRuntimeOptionDescription,
                    Accept.OneOrMoreArguments()
                          .WithSuggestionsFrom(_ => Suggest.RunTimesFromProjectFile())
                          .With(name: LocalizableStrings.CmdRuntimeOption)
                          .ForwardAsSingle(o => $"-property:RuntimeIdentifiers={string.Join("%3B", o.Arguments)}")),
Ncage1974 commented 5 years ago

Thanks everyone. I will report back next Tuesday. Unfortunately i have to alternate my work one day one something and one day on another thing but i will be back on it Tuesday. Out of curiosity shouldn't msbuild work the same as dotnet? How do you decide if you should msbuild or dotnet cli in general?

Ncage1974 commented 5 years ago

t of the dotnet cli build or publish arguments map pretty directly to MSBuild properties. A lot of them are defined here. For example, the following code means that -r and --runtime map to the RuntimeIdentifiers property:

I can't find anything that corresponds to --self-contained. Is there any msbuild parameter that can create a self-contained .net core app?

livarcocc commented 5 years ago

@Ncage1974 --self-contained maps to -property:SelfContained=true|false.