Properly include a project with .NET core - c#

I am trying to compile some C# code with .NET Core. My last attempt was hindered by YamlDotNet not supporting .NET Core, but that has changed.
So, I set up a project like this:
<Project Sdk="Microsoft.NET.Sdk">
<ItemGroup>
<ProjectReference Include="..\..\YamlDotNet\YamlDotNet\YamlDotNet.csproj" />
</ItemGroup>
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFrameworkIdentifier>.NETCoreApp</TargetFrameworkIdentifier>
<TargetFrameworkVersion>v1.0</TargetFrameworkVersion>
</PropertyGroup>
</Project>
I ran:
dotnet restore
That was successful. Then I tried:
dotnet build
This yielded the following error:
/usr/share/dotnet/sdk/1.0.1/Microsoft.Common.CurrentVersion.targets(1111,5):
error MSB3644: The reference assemblies for framework ".NETCoreApp,Version=v1.0"
were not found. To resolve this, install the SDK or Targeting Pack for this
framework version or retarget your application to a version of the framework for
which you have the SDK or Targeting Pack installed. Note that assemblies will be
resolved from the Global Assembly Cache (GAC) and will be used in place of
reference assemblies. Therefore your assembly may not be correctly targeted for
the framework you intend.
[/work/yaml-editor/docker/YamlDotNet/YamlDotNet/YamlDotNet.csproj]
/usr/share/dotnet/sdk/1.0.1/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.targets(92,5):
error : Cannot find project info for '/work/yaml-editor/docker/YamlDotNet/YamlDotNet/YamlDotNet.csproj'.
This can indicate a missing project reference.
[/work/yaml-editor/docker/src/dotnet/dotnet.csproj]
I am using the official microsoft/dotnet:1.0-sdk docker container, so I don't understand why .NETCoreApp,Version=v1.0 is missing. How can I fix the error?
Update:
I figured out that I have to configure <TargetFramework>netstandard1.3</TargetFramework> which is also present in YamlDotNet.csproj. However, now I get this error:
/usr/share/dotnet/sdk/1.0.1/Microsoft.CSharp.CurrentVersion.targets(133,9): warning MSB3884: Could not find rule set file "MinimumRecommendedRules.ruleset". [/work/yaml-editor/docker/YamlDotNet/YamlDotNet/YamlDotNet.csproj]
Core/YamlException.cs(113,30): error CS0115: 'YamlException.GetObjectData(SerializationInfo, StreamingContext)': no suitable method found to override [/work/yaml-editor/docker/YamlDotNet/YamlDotNet/YamlDotNet.csproj]
Core/YamlException.cs(112,26): error CS0234: The type or namespace name 'Permissions' does not exist in the namespace 'System.Security' (are you missing an assembly reference?) [/work/yaml-editor/docker/YamlDotNet/YamlDotNet/YamlDotNet.csproj]
Core/YamlException.cs(112,57): error CS0234: The type or namespace name 'Permissions' does not exist in the namespace 'System.Security' (are you missing an assembly reference?) [/work/yaml-editor/docker/YamlDotNet/YamlDotNet/YamlDotNet.csproj]
Core/YamlException.cs(112,112): error CS0246: The type or namespace name 'Flags' could not be found (are you missing a using directive or an assembly reference?) [/work/yaml-editor/docker/YamlDotNet/YamlDotNet/YamlDotNet.csproj]
Core/YamlException.cs(112,120): error CS0234: The type or namespace name 'Permissions' does not exist in the namespace 'System.Security' (are you missing an assembly reference?) [/work/yaml-editor/docker/YamlDotNet/YamlDotNet/YamlDotNet.csproj]
Serialization/Utilities/TypeConverter.cs(45,26): error CS0234: The type or namespace name 'Permissions' does not exist in the namespace 'System.Security' (are you missing an assembly reference?) [/work/yaml-editor/docker/YamlDotNet/YamlDotNet/YamlDotNet.csproj]
Serialization/Utilities/TypeConverter.cs(45,52): error CS0234: The type or namespace name 'Permissions' does not exist in the namespace 'System.Security' (are you missing an assembly reference?) [/work/yaml-editor/docker/YamlDotNet/YamlDotNet/YamlDotNet.csproj]
Serialization/Utilities/TypeConverter.cs(45,107): error CS0246: The type or namespace name 'Name' could not be found (are you missing a using directive or an assembly reference?) [/work/yaml-editor/docker/YamlDotNet/YamlDotNet/YamlDotNet.csproj]
Serialization/Utilities/TypeConverter.cs(47,54): error CS0234: The type or namespace name 'TypeConverter' does not exist in the namespace 'System.ComponentModel' (are you missing an assembly reference?) [/work/yaml-editor/docker/YamlDotNet/YamlDotNet/YamlDotNet.csproj]
/usr/share/dotnet/sdk/1.0.1/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.targets(92,5): error : Cannot find project info for '/work/yaml-editor/docker/YamlDotNet/YamlDotNet/YamlDotNet.csproj'. This can indicate a missing project reference. [/work/yaml-editor/docker/src/dotnet/dotnet.csproj]
make: *** [build/bin/dotnet-event] Error 1
I remember to have seen similar errors when I last tried this, but I wonder why it still happens, since YamlDotNet claims to support .NET Core.

I had the same error, which I resolved by adding:
using YamlDotNet.RepresentationModel;
Try adding one of the four namespaces and see which works:
using YamlDotNet.Serialization
using YamlDotNet.RepresentationModel
using YamlDotNet.Helpers
using YamlDotNet.Core

Related

Getting Errors on the Hooks and Step definition file for the dot net 4.6 framework and specflow 3.9.8

I am getting the below errors in my code in the Hooks file and Step definition file while working on the .net 4.6 framework(Visual Studio 2019). Please let me know if I missed any of the specflow packages. If I # using TechTalk.SpecFlow; it gets highlighted in red. Please let me know if I am missing assembly reference. Do I need to install any other specflow package?
Errors:
Error CS0246 The type or namespace name 'GivenAttribute' could not be found (are you missing a using directive or an assembly reference?).Error CS0246 The type or namespace name 'BeforeScenario' could not be found (are you missing a using directive or an assembly reference?) Error CS0246 The type or namespace name 'BindingAttribute' could not be found (are you missing a using directive or an assembly reference?).Error CS0246 The type or namespace name 'Binding' could not be found (are you missing a using directive or an assembly reference?).Error CS0103 The name 'ScenarioStepContext' does not exist in the current context
Also attaching the packages list:
SpecFlow version is 3.9.8, SpecFlow.MsTest version is 3.9.8, SpecFlow.Tools.MsBuild.Generation version is 3.9.8 and targetFramework is net46
Do I need to install any other specflow package?

Azure deployment fails with build errors

I have been trying to deploy my web application to azure for two days now. I had finished programming the application and its working properly locally, when i pushed to application to github, and I'm using my student starter plan to deploy it. The application starts deploying then it fails with errors. The errors are below
/usr/share/dotnet/sdk/3.0.100/Microsoft.Common.CurrentVersion.targets(2106,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.Extensions.Identity.Stores". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [/home/vsts/work/1/s/SchoolManager.Models/SchoolManager.Models.csproj]
Administration/SchoolRole.cs(1,17): error CS0234: The type or namespace name 'AspNetCore' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?) [/home/vsts/work/1/s/SchoolManager.Models/SchoolManager.Models.csproj]
Administration/SchoolUser.cs(1,17): error CS0234: The type or namespace name 'AspNetCore' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?) [/home/vsts/work/1/s/SchoolManager.Models/SchoolManager.Models.csproj]
Tenancy/TenancyRole.cs(1,17): error CS0234: The type or namespace name 'AspNetCore' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?) [/home/vsts/work/1/s/SchoolManager.Models/SchoolManager.Models.csproj]
Tenancy/TenancyUser.cs(2,17): error CS0234: The type or namespace name 'AspNetCore' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?) [/home/vsts/work/1/s/SchoolManager.Models/SchoolManager.Models.csproj]
Administration/SchoolRole.cs(5,31): error CS0246: The type or namespace name 'IdentityRole<>' could not be found (are you missing a using directive or an assembly reference?) [/home/vsts/work/1/s/SchoolManager.Models/SchoolManager.Models.csproj]
Administration/SchoolUser.cs(7,31): error CS0246: The type or namespace name 'IdentityUser' could not be found (are you missing a using directive or an assembly reference?) [/home/vsts/work/1/s/SchoolManager.Models/SchoolManager.Models.csproj]
Tenancy/TenancyRole.cs(5,32): error CS0246: The type or namespace name 'IdentityRole<>' could not be found (are you missing a using directive or an assembly reference?) [/home/vsts/work/1/s/SchoolManager.Models/SchoolManager.Models.csproj]
Tenancy/TenancyUser.cs(7,32): error CS0246: The type or namespace name 'IdentityUser' could not be found (are you missing a using directive or an assembly reference?) [/home/vsts/work/1/s/SchoolManager.Models/SchoolManager.Models.csproj]
1 Warning(s)
8 Error(s)
I had even changed the host now to Azure DevOps but it still show me the same thing. This has pushed me to rewrite the application from start. It runs locally okay but when i publish it, it fails.
I too faced the same issue. While publishing VS build was failing with - Unable to find dependent project references, but with release version I was able to build the solution.
The fix which worked for me was -
Update VS version to Version 16.7.3.
With this version project build passed successfully and I was able to deploy the packages...in earlier version I think there was a problem with dependency resolver.

Setup build system for ASP.NET MVC application without visual studio

How to setup build system without visual stduio for .NET MVC web application?
Actually i have installed the following items on build server,
Latest .NET framework
Microsoft Visual Studio shell (isolated)
MSBuild tools
Visual Studio C++ build tools & Web Deployment build tools
Latest WiX Toolset
while running build getting the following errors,
Errors:
error CS0234: The type or namespace name 'Mvc' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)
error CS0246: The type or namespace name 'HttpConfiguration' could not be found (are you missing a using directive or an assembly
reference?)
error CS0234: The type or namespace name 'Http' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)
error CS0246: The type or namespace name 'ApiController' could not be found (are you missing a using directive or an assembly reference?)
error CS0246: The type or namespace name 'ActionFilterAttribute' could not be found (are you missing a using directive or an assembly
reference?)
error CS0641: Attribute 'AttributeUsage' is only valid on classes derived from System.Attribute
error CS0246: The type or namespace name 'HttpActionExecutedContext' could not be found (are you missing a
using directive or an assembly reference?)
rror CS0246: The type or namespace name 'HttpPost' could not be found (are you missing a using directive or an assembly reference?)
Did i miss anything to be installed on the Build System prior to start build?
Guide me to over come these errors.
Update:
I resolved the above errors by installing MVC4 framework. But i am still having other below issue for VP8 & WebM projects.
error MSB4019: The imported project "C:\Microsoft.Cpp.Default.props"
was not found. Confirm that the path in the declaration is
correct, and that the file exists on disk.

.NET framework System.Windows.Form on non Windows OS

So, I MUST use C# for a uni course, just like I MUST use MSSQL Server, the big problem is that I'm running Ubuntu. I followed this guide, I mean it's from microsoft right? Can't get any of System.Windows.Form working, neither SqlDataAdapter and many more(like 99.65% of the libraries).
Anyone encountered this issue before? Or you just created a VM and waited a week for Visual to install?
This is what I get when I run dotnet run
Program.cs(4,22): error CS0234: The type or namespace name 'Forms' does not exist in the namespace 'System.Windows' (are you missing an assembly reference?) [/home/potra/Desktop/School/School/DBMS/Test/Test.csproj]
Program.cs(8,28): error CS0246: The type or namespace name 'Form' could not be found (are you missing a using directive or an assembly reference?) [/home/potra/Desktop/School/School/DBMS/Test/Test.csproj]
Program.cs(10,17): error CS0246: The type or namespace name 'DataGridView' could not be found (are you missing a using directive or an assembly reference?) [/home/potra/Desktop/School/School/DBMS/Test/Test.csproj]
Program.cs(11,17): error CS0246: The type or namespace name 'DataGridView' could not be found (are you missing a using directive or an assembly reference?) [/home/potra/Desktop/School/School/DBMS/Test/Test.csproj]
Program.cs(12,17): error CS0246: The type or namespace name 'SqlDataAdapter' could not be found (are you missing a using directive or an assembly reference?) [/home/potra/Desktop/School/School/DBMS/Test/Test.csproj]
The build failed. Please fix the build errors and run again.
The latest .NET Core, 2.1 Preview 2, does not include System.Windows.Forms.
If you'd like to use a native Ubuntu runtime, Mono supports WinForms and SqlClient.
For more information, the .NET documentation explains how .NET is implemented.

Travis-CI build failure "The type or namespace name 'Extensions' does not exist in the namespace"

Still new to Travis-CI and wanted to see if it's something I'm doing or not. I'm getting a build error in Travis-CI, but not locally.
Sample .NET Core 2.0 app. Going through the build I receive the following errors:
error CS0234: The type or namespace name 'Extensions' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
and
error CS0246: The type or namespace name 'IConfiguration' could not be found (are you missing a using directive or an assembly reference?)
Here's a link to the config and job log:
https://travis-ci.org/ovation22/DapperRepository/jobs/273068340
There is a warning just above the error:
/usr/share/dotnet/sdk/2.0.0/Microsoft.Common.CurrentVersion.targets(1987,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.Extensions.Configuration.Abstractions". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [/home/travis/build/ovation22/DapperRepository/Example.Repository/Example.Repository.csproj]
DapperRepository.cs(7,17): error CS0234: The type or namespace name 'Extensions' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?) [/home/travis/build/ovation22/DapperRepository/Example.Repository/Example.Repository.csproj]
DapperRepository.cs(16,33): error CS0246: The type or namespace name 'IConfiguration' could not be found (are you missing a using directive or an assembly reference?) [/home/travis/build/ovation22/DapperRepository/Example.Repository/Example.Repository.csproj]
Lets take a look at Example.Repository.csproj:
<ItemGroup>
<PackageReference Include="Dapper" Version="1.50.2" />
</ItemGroup>
That looks fine. But where is Microsoft.Extensions.Configuration.Abstractions? Lets look a little lower:
<Reference Include="Microsoft.Extensions.Configuration.Abstractions">
<HintPath>C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.extensions.configuration.abstractions\2.0.0\lib\netstandard2.0\Microsoft.Extensions.Configuration.Abstractions.dll</HintPath>
</Reference>
So you are telling msbuild that it is available at C:\Program Files. Travis is running this in Linux where this path obviously doesnt exist.
Try adding a PackageReference just like Dapper in that csproj. That should fix this.

Categories

Resources