标签: reference

无法加载文件或程序集或其依赖项之一

我有另一个"无法加载文件或程序集或其中一个依赖项"的问题.

附加信息:无法加载文件或程序集"Microsoft.Practices.Unity,Version = 1.2.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35"或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)

我不知道是什么导致这个或我如何调试它来找到原因.

我已经在我的解决方案目录.csproj文件中进行了搜索,以及我拥有Unity的所有地方:

参考Include ="Microsoft.Practices.Unity,Version = 2.0.414.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35,processorArchitecture = MSIL"

在我的任何项目中找不到任何与1.2.0.0相对应的参考.

任何想法我应该如何解决这个问题?

我也很欣赏如何调试这样的问题的技巧.

.net c# compiler-errors reference

224
推荐指数
16
解决办法
72万
查看次数

为什么非const引用不能绑定到临时对象?

为什么不允许对一个临时对象进行非const引用,哪个函数getx()返回?显然,这是C++标准禁止的,但我对这种限制的目的感兴趣,而不是对标准的引用.

struct X
{
    X& ref() { return *this; }
};

X getx() { return X();}

void g(X & x) {}    

int f()
{
    const X& x = getx(); // OK
    X& x = getx(); // error
    X& x = getx().ref(); // OK
    g(getx()); //error
    g(getx().ref()); //OK
    return 0;
}
Run Code Online (Sandbox Code Playgroud)
  1. 很明显,对象的生命周期不是原因,因为C++标准不禁止对对象的持续引用.
  2. 很明显,上面的示例中的临时对象不是常量,因为允许调用非常量函数.例如,ref()可以修改临时对象.
  3. 此外,ref()允许您欺骗编译器并获取此临时对象的链接,这解决了我们的问题.

此外:

他们说"为const引用分配一个临时对象可以延长这个对象的生命周期","但是对于非const引用却没有任何说法".我的其他问题.以下赋值是否延长了临时对象的生命周期?

X& x = getx().ref(); // OK
Run Code Online (Sandbox Code Playgroud)

c++ const reference temporary c++-faq

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

返回类型'?:'(三元条件运算符)

为什么第一个返回引用?

int x = 1;
int y = 2;
(x > y ? x : y) = 100;
Run Code Online (Sandbox Code Playgroud)

而第二个不?

int x = 1;
long y = 2;
(x > y ? x : y) = 100;
Run Code Online (Sandbox Code Playgroud)

实际上,第二个根本没有编译 - "没有左边的赋值".

c++ types reference conditional-operator lvalue

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

如何在xml文档中引用泛型类和方法

编写可以使用的xml文档时<see cref="something">something</see>,当然可以使用.但是,如何引用具有泛型类型的类或方法?

public class FancyClass<T>
{
  public string FancyMethod<K>(T value) { return "something fancy"; }
}
Run Code Online (Sandbox Code Playgroud)

如果我要在某处写xml文档,我将如何引用这个花哨的类?我该如何参考FancyClass<string>?方法怎么样?

例如,在另一个类中,我想让用户知道我将返回一个实例FancyClass<int>.我怎么能看到cref的东西呢?

c# generics reference xml-documentation

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

为什么Rust需要明确的生命周期?

我正在阅读Rust书的生命周章,我在这个例子中看到了命名/显式生命周期:

struct Foo<'a> {
    x: &'a i32,
}

fn main() {
    let x;                    // -+ x goes into scope
                              //  |
    {                         //  |
        let y = &5;           // ---+ y goes into scope
        let f = Foo { x: y }; // ---+ f goes into scope
        x = &f.x;             //  | | error here
    }                         // ---+ f and y go out of scope
                              //  |
    println!("{}", x);        //  |
}                             // -+ x goes out …
Run Code Online (Sandbox Code Playgroud)

static-analysis reference lifetime rust

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

准确理解data.table何时是对另一个data.table的引用(与副本)

我在理解传递的引用属性方面遇到了一些麻烦data.table.有些操作似乎"打破"了参考,我想准确理解发生了什么.

data.table从另一个创建a 时data.table(通过<-,然后更新新表:=,原始表也会被更改.这是预期的,按照:

?data.table::copystackoverflow:传递引用操作在数据表包中

这是一个例子:

library(data.table)

DT <- data.table(a=c(1,2), b=c(11,12))
print(DT)
#      a  b
# [1,] 1 11
# [2,] 2 12

newDT <- DT        # reference, not copy
newDT[1, a := 100] # modify new DT

print(DT)          # DT is modified too.
#        a  b
# [1,] 100 11
# [2,]   2 12
Run Code Online (Sandbox Code Playgroud)

但是,如果我:=<-赋值和:=上面的行之间插入非基础修改,DT现在不再修改:

DT = data.table(a=c(1,2), b=c(11,12))
newDT …
Run Code Online (Sandbox Code Playgroud)

copy r reference assignment-operator data.table

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

为什么'this'是指针而不是引用?

我正在阅读这个问题的答案C++的优点和缺点,并在阅读评论时得到了这个疑问.

程序员经常发现令人困惑的是"this"是指针而不是引用.另一个困惑是为什么"hello"不是std :: string类型但是求值为char const*(指针)(在数组到指针转换之后) - Johannes Schaub - litb于2008年12月22日在1:56

这只表明它没有使用与其他(后来的)语言相同的约定. - le dorfier 2008年12月22日3:35

我称之为"这个"的事情虽然是一个非常微不足道的问题.还有哎呀,感谢我在未定义行为的示例中捕获了一些错误.:)虽然我不明白大小的信息与第一个中的任何东西有关.根本不允许指针指向已分配的内存 - jalf 08年12月22日4:18

这是一个不变的人吗? - yesraaj 08年12月22日6:35

如果方法是const int getFoo()const,这可以是常量; < - 在getFoo的范围内,"this"是常量,因此是readonly.这可以防止错误并为调用者提供某种程度的保证,即对象不会更改. - 道格T. 2008年12月22日16:42

你不能重新分配"这个".即你不能做"this =&other;",因为这是一个右值.但这是T*类型,而不是T const类型.即它是一个非常量指针.如果你在const方法中,那么它是一个指向const的指针.T const.但是指针本身是无关紧要的 - 约翰内斯·绍布 - 在2008年12月22日17:53

想到这个"this":#define this(this_ + 0),编译器将"this_"创建为指向对象的指针,并使"this"成为关键字.你不能指定"this"因为(this_ + 0)是一个右值.当然那不是它的原因(没有这样的宏),但它可以帮助理解它 - Johannes Schaub - litb 2008年12月22日17:55

我的问题是,为什么this指针不是引用?使它成为指针的任何特殊原因?


为什么this作为参考的一些进一步的论点是有道理的:

  • 考虑Item 1来自More Effective C++:当保证我们有一个有效的对象,即不是NULL(我的解释)时,使用引用.
  • 此外,引用被认为比指针更安全(因为我们不能用一个迷路指针拧紧内存).
  • 第三,访问references(.)的语法比访问指针(->(*))更好,更短.

c++ pointers reference c++-faq this

178
推荐指数
3
解决办法
3万
查看次数

依赖DLL未被复制到Visual Studio中的生成输出文件夹

我有一个visual studio解决方案.我在解决方案中有很多项目.有一个主要项目作为启动并使用其他项目.有一个项目说"ProjectX".它的参考被添加到主项目中.ProjectX引用了另一个不是解决方案的.NET dll(例如abc.dll).

现在这个abc.dll应该被复制到主项目的bin/debug文件夹中,但它不会被复制到那里.为什么不被复制,任何已知的原因?

.net c# dll reference visual-studio-2010

175
推荐指数
8
解决办法
14万
查看次数

Java:强/弱/弱/幻像参考之间的区别

我已经阅读了关于这个主题的这篇文章,但我真的不明白它.在描述概念时,请给我一些建议和示例.

java reference weak-references phantom-reference soft-references

164
推荐指数
7
解决办法
8万
查看次数

C#字符串引用类型?

我知道C#中的"string"是一个引用类型.这是在MSDN上.但是,此代码不能正常工作:

class Test
{
    public static void Main()
    {
        string test = "before passing";
        Console.WriteLine(test);
        TestI(test);
        Console.WriteLine(test);
    }

    public static void TestI(string test)
    {
        test = "after passing";
    }
}
Run Code Online (Sandbox Code Playgroud)

输出应该在"传递之前""传递之后",因为我将字符串作为参数传递并且它是引用类型,第二个输出语句应该识别在TestI方法中更改了文本.但是,我在"通过之前""在通过之前"得到它似乎是通过值传递而不是通过ref.我知道字符串是不可变的,但我不知道这将如何解释这里发生的事情.我错过了什么?谢谢.

c# string types reference

157
推荐指数
8
解决办法
12万
查看次数