相关疑难解决方法(0)

VS 15.8.2打破了构建工具 - 缺少RuntimeIdentifier

最后一次Windows更新打破了整个构建链,我对它的原因有点不知所措.

我有一个遗留项目,这是一个带有大量项目的VS 2017解决方案(winform,基于Web,仅限一些Webapi).

当地的事情很完美.我可以建立它们.

在服务器上,proejct已经开始失败,错误是:

C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\Microsoft\NuGet\15.0\Microsoft.NuGet.targets(186,5): Error : Your project file doesn't list 'win' as a "RuntimeIdentifier". You should add 'win' to the "RuntimeIdentifiers" property in your project file and then re-run NuGet restore.

C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\Microsoft\NuGet\15.0\Microsoft.NuGet.targets(186,5): Error : Your project file doesn't list 'win' as a "RuntimeIdentifier". You should add 'win' to the "RuntimeIdentifiers" property in your project file and then re-run NuGet restore.

C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\Microsoft\NuGet\15.0\Microsoft.NuGet.targets(186,5): Error : Your project …
Run Code Online (Sandbox Code Playgroud)

visual-studio-2017 visual-studio-2017-build-tools

43
推荐指数
9
解决办法
2万
查看次数

您的项目未引用".NETFramework,Version = v4.6.2"框架.在"TargetFrameworks"中添加对".NETFramework,Version = v4.6.2"的引用

我无法进行单元测试.

我有下一个错误:

您的项目未引用".NETFramework,Version = v4.6.2"框架.在项目文件的"TargetFrameworks"属性中添加对".NETFramework,Version = v4.6.2"的引用,然后重新运行NuGet还原.

app.config:

<startup>
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/>
</startup>
Run Code Online (Sandbox Code Playgroud)

在项目>属性>应用程序> TargetFramework(.NET Framework 4.6.2)中

我该如何解决?

c# unit-testing mstest csproj .net-framework-version

42
推荐指数
8
解决办法
1万
查看次数

使用teamcity进行dotnet恢复与nuget恢复

我有一个asp.net核心项目,可以使用VS正确构建,但不会在msbuild下构建.

它没有找到所有常见的库(系统等)

我正在使用teamcity,部分构建过程是一个nuget恢复.

我尝试执行与teamcity相同的步骤,但是手动使用msbuild,它失败了,没有找到libs.

我添加了一个dotnet还原步骤然后它工作了.

那么,nuget还原dotnet还原之间有什么区别?

.net msbuild teamcity nuget

39
推荐指数
2
解决办法
2万
查看次数

msbuild 找不到 project.assets.json

我有一个 ASP.NET Core 应用程序,我希望使用 MSBuild 15 在 jenkins 机器上构建它。

当我尝试构建时,出现以下错误:

C:\Program Files\dotnet\sdk\2.1.502\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(198, 5): error NETSDK1004: Assets file 'C:\sync\Src\Util\未找到 myUtil\ob j\project.assets.json'。运行 NuGet 包还原以生成此文件

我知道我需要以某种方式进行 nuget restore,但我未能使其正常工作。

我的构建过程:使用以下命令运行批处理:

call "%VS150COMNTOOLS%VsDevCmd.bat"
MSBuild DailyBuild.proj /t:DailyBuild /p:VersionNumber=%2 /l:FileLogger,Microsoft.Build.Engine;logfile=Build.log
Run Code Online (Sandbox Code Playgroud)

DailyBuild.proj 文件如下所示:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <SourcesPath>$(MSBuildProjectDirectory)\..\..\</SourcesPath>
    <CSCleanProperties>BuildType=Clean;Configuration=Release;IsFormalBuild=true</CSCleanProperties>
    <CSBuildProperties>BuildType=ReBuild;Configuration=Release;PauseBuildOnError=false;PublishWebSites=true;VersionName=myProd-$(VersionNumber)</CSBuildProperties>
  </PropertyGroup>

  <Target Name="DailyBuildWithClean">
    <MSBuild Projects="$(MSBuildProjectDirectory)\Make.proj" Targets="Clean" Properties="$(CSCleanProperties)"/>
    <MSBuild Projects="$(MSBuildProjectDirectory)\Make.proj" Properties="$(CSCleanProperties)"/>
    <MSBuild Projects="$(MSBuildProjectDirectory)\Make.proj" Targets="FormalBuild" Properties="$(CSBuildProperties)"/>
  </Target>

  <Target Name="DailyBuild">
    <MSBuild Projects="$(MSBuildProjectDirectory)\Make.proj" Targets="SW;PreparePackFolder" Properties="$(CSBuildProperties)"/>
  </Target>

</Project>
Run Code Online (Sandbox Code Playgroud)

Make.proj 是一个 proj 文件,其中包含要构建的许多应用程序的定义,其中之一是我的 ASP.NET Core 应用程序。

我该如何解决这个问题?谢谢你。

解决方案编辑:感谢 Martin Ullrich 的解决方案:

在 DailyBuild.proj 中添加了目标 Restore,还在 …

c# msbuild asp.net-core

6
推荐指数
1
解决办法
1万
查看次数