我有一个问题,不幸的是我找不到可以解决我的问题的解决方案,可以找到其他解决方案,但没有人适合我。
当我在本地构建我的解决方案时,一切都很完美,但是当我使用此解决方案启动构建定义时,我遇到了一些问题。 首先是几个错误,例如:
if let rates = myJson["rates"] as? [String: Double] {
DispatchQueue.main.async {
for (_, value) in rates {
self.myarry.append(String(value))
self.tableview.beginUpdates()
self.tableview.insertRows(at: [IndexPath(row: self.myarry.count-1, section: 0)], with: .automatic)
self.tableview.endUpdates()
}
}
}
和其他与上一个错误相同的错误。
为了帮助我,我也有这些警告,其中一个警告(其他人类似):
Console.cs (5): The type or namespace name 'Core' does not exist in the namespace 'Toto' (are you missing an assembly reference?)
Enti\Extensions.cs (602): The type or namespace name 'Attribute' could not be found (are you missing a using directive or an assembly reference?)
我尝试了什么:
例如上面的第一个错误:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets (1605): Could not resolve this reference. Could not locate the assembly "Comarch.B2.Core". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
然后我的日志废料:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using .Core.Interfaces.Dictionaries;
namespace Toto.Presentation.Extensions.Interfaces
{
public class Console
{
...
}
}
非常感谢你帮助我,我在2天前就被打扰了。
答案 0 :(得分:2)
要解决此错误,您需要确保此程序集将存在于构建代理程序的正确路径中。
在项目的.csproj文件中,它定义了您引用的项目以及它所在的位置。
<Reference Include="xxx">
<HintPath>..\..\xxx\xxx.dll</HintPath>
</Reference>
在您的项目中,HintPath似乎是"..\..\..\..\..\..\..\..\..\..\Toto.Common.dll"
。你可以检查你的构建代理服务器,这个dll是否会被下载。如果没有,请检查构建定义的存储库映射。
"..\"
表示返回上一级。它有10 "..\"
,因此需要从.csproj文件所在的位置返回10级。
我建议你重新定位你的Toto.Common.dll。您可以将项目/解决方案和引用的dll放在一个文件夹中,并在项目中再次使用。然后在Repository映射中,映射此文件夹。另一个条件是你希望在另一个项目构建之后得到这个dll。您需要映射两个项目并在您的定义中构建它们。
答案 1 :(得分:1)
Castle.Core
参考,是来自温莎城堡的,你可能是通过Nuget获得的?然后你的构建可能需要在编译之前进行“nuget restore”。
您是否尝试将源代码管理中的代码签出到一个空文件夹并在那里编译?