构建服务器中的Gitlab msbuild问题 - 无法解析此引用。无法找到程序集

问题描述 投票:0回答:1

我的解决方案在我的本地系统中绝对正常工作。但是,当构建服务器中的构建触发时,相同的代码会抛出以下错误。你能帮忙吗?

C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(1988,5): warning MSB3245: **Could not resolve this reference. Could not locate the assembly "Company.Common.SC.Data, Version=2.5.3.32715, Culture=neutral, 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:\glr\builds\7a6e3c3e\0\Company\Product\Company-sm-mvc\Company.Product.MVC.Models\Company.Product.MVC.Models.csproj]
          For SearchPath "C:\glr\builds\7a6e3c3e\0\Company\Product\Company-sm-mvc\packages\Company.Common.SC.MVC.Library.1.7.0\lib\net45".
          Considered "C:\glr\builds\7a6e3c3e\0\Company\Product\Company-sm-mvc\packages\Company.Common.SC.MVC.Library.1.7.0\lib\net45\Company.Common.SC.Data.winmd", but it didn't exist.
          Considered "C:\glr\builds\7a6e3c3e\0\Company\Product\Company-sm-mvc\packages\Company.Common.SC.MVC.Library.1.7.0\lib\net45\Company.Common.SC.Data.dll", but it didn't exist.
          Considered "C:\glr\builds\7a6e3c3e\0\Company\Product\Company-sm-mvc\packages\Company.Common.SC.MVC.Library.1.7.0\lib\net45\Company.Common.SC.Data.exe", but it didn't exist.
          For SearchPath "{HintPathFromItem}".
          Considered "..\packages\Company.Common.SC.Data.2.5.3\lib\net45\Company.Common.SC.Data.dll",
            but its name "Company.Common.SC.Data, Version=2.5.3.23193, Culture=neutral, PublicKeyToken=null"
            didn't match the expected name "Company.Common.SC.Data, Version=2.5.3.32715, Culture=neutral, processorArchitecture=MSIL".

我认为Company.Common.SC.Data nuget库有问题。 nuget lib是使用nuget包管理器创建的,在创建包时我们给出了版本号2.5.3,但不确定如何添加subversion。请查看错误的最后一行。

 Considered "..\packages\Company.Common.SC.Data.2.5.3\lib\net45\Company.Common.SC.Data.dll",
            but its name "Company.Common.SC.Data, Version=2.5.3.23193, Culture=neutral, PublicKeyToken=null"
            didn't match the expected name "Company.Common.SC.Data, Version=2.5.3.32715, Culture=neutral, processorArchitecture=MSIL".

更新1:

Nuspec for Company.Common.SC.Data

<?xml version="1.0"?>
<package >
  <metadata>
    <id>$id$</id>
    <version>$version$</version>
    <title>$title$</title>
    <authors>$author$</authors>
    <owners>$author$</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>$description$</description>
    <releaseNotes>Updated for 8.0 and includes additional library code related to Dacron, Terathane and other sites that added to core capabilities.</releaseNotes>
    <copyright>$copyright$</copyright>
    <tags>sitecore data website common</tags>
  </metadata>
</package> 
.net asp.net-mvc msbuild nuget gitlab
1个回答
0
投票

我找到了问题,并能够解决它。问题是nuget项目dll正在使用AssemblyVersion编号构建。像这样的东西。

[assembly: AssemblyVersion("1.7.1.*")]
[assembly: AssemblyFileVersion("1.7.0")]

因此,当我们通过nuget feed将它添加到我们的项目中时,在项目参考中添加了subversion(1.7.1.354567)。

我刚刚删除了*并构建了nuget解决方案,然后创建了Company.Common.SC.Data的nuget包,然后我在我的项目中再次引用它。有效。

© www.soinside.com 2019 - 2024. All rights reserved.